Avatar billede davidabk Nybegynder
30. maj 2011 - 20:50 Der er 4 kommentarer og
1 løsning

Hjælp til sikkerhed - placere session data i ny array

Hej

Jeg har et simpelt lille framework som jeg selv har fået stablet på benene.. alle filer kører igennem en index.php fil.

Jeg har behov for at trække data ud fra $_SESSION til diverse, og hver gang skal jeg indsætte et "session_start()" hvilket jeg finder lidt usikkert - er det begrundet?

Jeg har nu lavet en lille funktion der smider alt $_SESSION data over i en anden array så jeg kun en gang behøves at åbne for session med "session_start()" og lukke med "session_write_close()". Den nye array bliver derefter mulig at trække data fra i selve sidekoden.

Er der nogle som ved om det er en sikker eller usikker løsning??
Avatar billede repox Seniormester
31. maj 2011 - 09:54 #1
Nå, jamen, det lader til jeg ikke er den eneste der ikke har forstået hvad du prøver at opnå.

Hvad mener du med at du 'hver gang skal indsætte "session_start()"'? Det er jo krævet at session_start() køres for at du kan anvende sessions, så for mig virker den konstatering som en selvfølge - men du kan måske uddybe det lidt? Jeg har en opfattelse af at du bruger session_start mere end en gang for hvert sidekald?

session_start() er ikke 'usikker'. Funktionen gør basalt set det at den finder ud af om klienten har en session cookie og henter session dataene fra serveren (eller hvad du nu specificerer i din session handler).

Om du tilgår $_SESSION eller $mit_session_array er vist et fedt, hvis du alligevel bare laver en tro kopi af arrayet.

Hvorfor anvender du session_write_close()?
Avatar billede davidabk Nybegynder
31. maj 2011 - 16:11 #2
Hej repox

Jeg mener at have læst at det er farligt at have en session_start() til bare at køre uden at lukke den med en session_write_close() umiddelbart efter at det ønskede data er trukket ud af $_SESSION.

Er det helt forkert forstået??

Jeg er klar over at det data der bliver trukket ud af $_SESSION ikke bliver mindre svært at hacke når der bliver lavet en ny array med det samme data, men det skulle være sværre at hacke selve $_SESSION, når den er lukket med en session_write_close().
Avatar billede repox Seniormester
31. maj 2011 - 16:59 #3
session_write_close() er smart at bruge når du bruger frames, så du kan sænke load-hastigheden af dine sider. Men ellers kan jeg ikke lige se hvad fordel der skulle være i at bruge det? Umiddelbart ville det selvfølgelig være nemmere at kommentere på hvis jeg kunne se det du havde læst, men som udgangspunkt øger du ikke sikkerheden ved at låse din session førend scriptet er færdigt.

Jeg tror du tænker på noget session hijacking? Jeg garanterer dig for at hvis det lykkedes nogen at overtage en klients session, så har du intet opnået ved at 'lukke' session skrivningen - ej heller ved at overføre den til et andet array.

Hvis du er nervøs for session hijacking, er det nogle helt andre teknikker du bør kikke på.
Avatar billede davidabk Nybegynder
31. maj 2011 - 18:43 #4
Hej repox

Tak for hjælpen! Jeg kigger lidt nærmere på hvordan session hacking forhindres!
Måske er det også overkill..

Hvis du skal have points skal du lige smide et svar!
Avatar billede repox Seniormester
01. juni 2011 - 09:14 #5
Du fik et svar her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester