Gå til innhold

Den frie kafeen


Anbefalte innlegg

Sessions gir den sikkerheten som sessions kan gi. :)

Bruker du sessions uten store feil vil serveren være "beskyttet", men ikke nødvendigvis brukeren. For å beskytte brukerne er første steg å bruke HTTPS. Jeg anbefaler også at du lagrer brukerens session_id i databasen slik at hver bruker bare kan ha én aktiv session, samt at du bruker session_regenerate_id ved hvert request slik at de to tiltakene minimerer sjansen for at noen hijacker en session.

Lenke til kommentar
Videoannonse
Annonse

Jeg kan forklare litt bedre hva grunnen er:

 

Hver gang en innlogget bruker ber om data genererer du en ny id og lagrer den nye ID-en i brukertabellen din. Dersom en bruker har en gyldig session og gyldig bruker, men session_id-en er ulik den du har i databasen så betyr det at det enten er et kall fra en utdatert klient (innlogget i flere browsere eller på flere maskiner), et replay-attack eller noen som har satt en loggførende HTTP-proxy på linja du bruker og prøver å utnytte sesjonen din i ettertid. Dersom du stadig invaliderer gamle session_id-s må angriperen utnytte session-en med en gang før du genererer en ny, samt at brukeren vil oppdage at noe er galt ved at han/hun blir logget ut i det angrepet starter.

Endret av JohndoeMAKT
Lenke til kommentar

Fårstår jeg hva du mener sånn ca?

 

login.php

include (''dboppkobling.php');
mysql_query('select brukernavn, passord from brukere where brukernavn=$_POST['brukernavn']');
while row….
if ( $row['passord']=$_POST['passord'].$row['salt']){

  session_start();

mysql_query('insert into brukere (sessionid) values ('session_id()'));
  $_SESSION['login'];
  $_SESSION['bruker']=$row['brukernavn'];
}
……..

enellerannenfil.php

include (''dboppkobling.php');
session_start();
mysql_query("select brukernavn, sid from brukere where  sid='session_id()' and brukernavn= '$_SESSION['bruker']'");
while row….
 if (number_of_rows==1){
session_regenerate_id();
	 mysql_query('insert into brukere (sessionid) values ('session_id()'));  
 }else{
	  session_destroy();
  }

…………….

Endret av RattleBattle
Lenke til kommentar

Helt ærlig ser jeg ikke hva leverandører som fokuserer på hardware har å tjene på lukkede drivere. Hva hadde nvidia tapt på å fullstendig åpne seg? Noen som vet og kan forklare?

Det kan vel avsløre ytelsestweaks i selve chiparkitekturen. Bedriftshemmeligheter om hvordan nVidia eller ATi får god ytelse ut av chipene.

I tillegg kan det være flaut å publisere HW-feil som lappes over av driveravdelingen etter at chipen har blitt kjørt til tape-out.

Lenke til kommentar

At Stallman var USAs svar på Tor Erling Staff, var ukjent for meg:

 

http://www.stallman....ical%20party%29

I am skeptical of the claim that voluntarily pedophilia harms children. The arguments that it causes harm seem to be based on cases which aren't voluntary' date=' which are then stretched by parents who are horrified by the idea that their little baby is maturing. [/quote']
Lenke til kommentar
Fårstår jeg hva du mener sånn ca?

Omtrent.

Den første biten er OK, men du bruker INSERT i den andre SQL-spørringen hvor du egentlig skal bruke UPDATE. (Det er et stort SQL-injection-hull og du hasher ikke passordet, men jeg regner med at dette er eksempelkode hvor fokuset ikke er på den biten)

 

I den andre biten bør du ikke ha session_id med i spørringen etter bruker, for da greier du ikke å skille mellom manglende bruker og utdatert session_id. Hent brukerdata med brukernavn og så i PHP sjekk om eksisterende session_id matcher den i dataene du hentet fra databasen. Deretter bruker du igjen INSERT hvor du skal bruke UPDATE ved oppdatering av ny session_id. Du bør også bruke session_regenerate_id(true) for å fjerne gammel session ved opprettelse av ny.

Lenke til kommentar

Er det noen butikker som selger bærebare maskiner med Linux out of the box?

 

System76

Ypperlig, men må jeg ikke betale en masse i toll? Prisene går kanskje "opp i opp" totalt sett?

 

Fant dette:

 

UPS Express service includes shipment, insurance, and carrier brokerage. System76, Inc. does not collect taxes or duties for orders being shipped internationally. To determine taxes or duties owed, if any, please contact your customs office with both the description of your order and its total price. All System76 prices are in US Dollar (USD).

https://www.system76.com/home/shippinginformation/

 

Noe som er vanlig prosedyre for å selge dyre ting internasjonalt. Med andre ord så betaler du kun norsk moms, og ikke den amerikanske.

Endret av Gavekort
Lenke til kommentar
Fårstår jeg hva du mener sånn ca?

Omtrent.

Den første biten er OK, men du bruker INSERT i den andre SQL-spørringen hvor du egentlig skal bruke UPDATE. (Det er et stort SQL-injection-hull og du hasher ikke passordet, men jeg regner med at dette er eksempelkode hvor fokuset ikke er på den biten)

Ja, dette er bare en pseudo-kode, hashing av passord er der egentlig. Det er ganske meningsløst med "salt" uten hash. :-) Vedrørende INSERT så var det en "kladdefeil" i begge tilfellene, det skal så klart være en UPDATE. En INSERT hadde ikke fungert her heller, siden jeg hadde manglet et par påkrevde felter i tabellen. ;-)

 

I den andre biten bør du ikke ha session_id med i spørringen etter bruker, for da greier du ikke å skille mellom manglende bruker og utdatert session_id. Hent brukerdata med brukernavn og så i PHP sjekk om eksisterende session_id matcher den i dataene du hentet fra databasen.

Enig i det.

 

 

Deretter bruker du igjen INSERT hvor du skal bruke UPDATE ved oppdatering av ny session_id. Du bør også bruke session_regenerate_id(true) for å fjerne gammel session ved opprettelse av ny.

Det har du helt rett i, leste faktisk om det etter at jeg postet dette.

Lenke til kommentar
At Stallman var USAs svar på Tor Erling Staff, var ukjent for meg

Slik at vi får en felles forståelse av saken, kan du fortelle hva du mener er galt med utsagnet?

Det er Stallmans kommentar til et nederlandsk parti som ønsker å legalisere barneporno og sex med barn ned til 12 år. Ut i fra det, virker det som partiet langt på vei er enig med Tor Erling Staff. Ut i fra kontekst, og hva Stallman kommenterer, virker det som han langt på vei er enig.

 

Sex med mindreårige er aldri greit, siden et barn ikke er modent nok til å vurdere dette, selv om det kan virke "frivillig". Selv om man er utsatt for overgrep, kan det være en del av deg som synes det er godt selv om det er traumatisk, noe som gir en skam- og skyldfølelse for de som har blitt utsatt for overgrep.

 

Staff mener da at dette er noe vi har blitt opplært til i vår kultur og at seksuelle relasjoner mellom barn og voksne er greit.

Endret av RattleBattle
Lenke til kommentar

Vet noen om en god guide for å sette opp LAMP med en tilnærmet produksjons-config? Ut av boksen er det en del som ikke virker godt konfigurert, og uten bakgrunn med slike oppsett tidligere hadde det vært gøy å få et mer profesjonelt innblikk i konfigurereringen enn å bare få det opp og gå.

Lenke til kommentar

Noe som er vanlig prosedyre for å selge dyre ting internasjonalt. Med andre ord så betaler du kun norsk moms, og ikke den amerikanske.

Ja, men spørsmålet er om det er verdt det når jeg legger til frakt + norsk moms + norsk toll. Fant ut at jeg kan kjøpe en maskin med Windows, og så kreve pengene for WIndows-lisensen tilbake dersom den ikke taes i bruk.

http://en.wikipedia.org/wiki/Windows_refund

Lenke til kommentar

Sex med mindreårige er aldri greit

Enig, og utsagnet til RMS blir grelt uansett hvordan en snur og vender på det. Æsj, at enkelte ikke bare kan holde kjeft innimellom, og la oss andre leve i illusjonen om at verden er bedre enn den er. Endret av Del
Lenke til kommentar

Vet noen om en god guide for å sette opp LAMP med en tilnærmet produksjons-config? Ut av boksen er det en del som ikke virker godt konfigurert, og uten bakgrunn med slike oppsett tidligere hadde det vært gøy å få et mer profesjonelt innblikk i konfigurereringen enn å bare få det opp og gå.

Hva mener du ikke er godt konfigurert? Clean Debian/Ubuntu Server med LAMP direkte fra tasksel er et greit utgangspunkt å jobbe med.

 

Du får da PHP med Suhosin og det som mangler er et par PHP-moduler, Memcached og loggrotering. Jeg liker også å ha Varnish forran Apachen. Default konfigurasjon i Apache bør endres til å være Option -indexes, og i PHP bør display_errors være off og loggnivået settes til E_ALL.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...