Gå til innhold

Sikkerhet ved bruk av $_SESSION


Anbefalte innlegg

Jeg har et par spørsmål angående sikkerhet ved sessions i php.

 

1. Kan en bruker se hva som er lagret i sin session?

2. Kan en bruker se hva som er lagret i andres session?

3. Kan en bruker endre sin egen/andres session?

 

Hvis en bruker ikke får se noen sessions, og ikke kan endre noen, vil det ikke da være nok å sette $_SESSION['loggedin'] = true; ved login, så har du en meget enkel måte å verifisere brukere, uten å lagre unna bruker/pass osv. Hvis jeg leser $_SESSION['level'] = 'admin'; så vet jeg at det er satt av meg. eller?

Lenke til kommentar
Videoannonse
Annonse

I utgangspunktet er det vel nei på alle sammen, men det er ingenting i vegen for at noen kan bruke en annens session. Derfor vil alikevel "$_SESSION['loggedin'] = true;" være milevis langt unna godt nok. Et absolutt minimum er IP og brukernavn/id.

Lenke til kommentar

En session varer en viss tid (ca 20 min er vel standard), og man kan "hijacke" en session som en bruker har forlatt (men som ikke er død på serveren enda). Da må hackeren enten stjele nøkkelen som ligger lagret i brukeren nettlesers "cookie", eller snappe den opp på veien.

 

Et godt tiltak er som det nevnes, å lagre IP når bruker logger inn, og sjekke om den plutselig endrer seg midt under en session.

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...