30. maj 2011 - 20:50Der 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??
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.
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().
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å.
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.