Ik heb een backend webapplicatie draaien in PHP. Sinds een aantal dagen krijg ik de melding van gebruikers dat ze na een periode inactiviteit 'ineens' waren ingelogd als een andere collega.
Ik kon het zelf niet goed reproduceren of vinden wat nu precies het probleem was, tot ik het nu zojuist zelf ook ineens had; bij het openen van de applicatie in mijn browser was ik al direct ingelogd als een medewerker (waarvan ik zelf nooit ingelogd heb).
Wat ik heb ontdekt is dat ik een PHPSESSID heb gekregen die al bestond en was gekoppeld aan een ingelogde gebruiker.
session.gc_maxlifetime staat op 2 uur en session files worden ook na 2 uur netjes verwijderd door de GC.
Het 'ineens' wisselen van medewerker gebeurt ook nadat ze een periode niet actief zijn geweest in het systeem, maar wel open hebben staan. Logisch, normaal moeten ze dan opnieuw inloggen.
Ik weet dat het heel vaag is en heb ook echt geen idee waar ik moet zoeken
in de source van de applicatie is niks veranderd de afgelopen weken.
Kan iemand me een klein beetje in de juiste richting duwen?
- Hoe kan het dat PHP session_id's uitgeeft die al bestaan?
En de extra vraag die bij me naar boven komt:
- Hoe veilig is het gebruik van SESSIONs bij het gebruik van een webapplicatie? Is het veilig genoeg om het te gebruiken voor authenticatie?
Nu is het gelukkig een backend applicatie dus niet echt gevolgen mbt privacy etc. Maar als je dit op de frontend van een website hebt dan lijkt me dit toch extreem onwenselijk.
Ik kon het zelf niet goed reproduceren of vinden wat nu precies het probleem was, tot ik het nu zojuist zelf ook ineens had; bij het openen van de applicatie in mijn browser was ik al direct ingelogd als een medewerker (waarvan ik zelf nooit ingelogd heb).
Wat ik heb ontdekt is dat ik een PHPSESSID heb gekregen die al bestond en was gekoppeld aan een ingelogde gebruiker.
session.gc_maxlifetime staat op 2 uur en session files worden ook na 2 uur netjes verwijderd door de GC.
Het 'ineens' wisselen van medewerker gebeurt ook nadat ze een periode niet actief zijn geweest in het systeem, maar wel open hebben staan. Logisch, normaal moeten ze dan opnieuw inloggen.
Ik weet dat het heel vaag is en heb ook echt geen idee waar ik moet zoeken

Kan iemand me een klein beetje in de juiste richting duwen?
- Hoe kan het dat PHP session_id's uitgeeft die al bestaan?
En de extra vraag die bij me naar boven komt:
- Hoe veilig is het gebruik van SESSIONs bij het gebruik van een webapplicatie? Is het veilig genoeg om het te gebruiken voor authenticatie?
Nu is het gelukkig een backend applicatie dus niet echt gevolgen mbt privacy etc. Maar als je dit op de frontend van een website hebt dan lijkt me dit toch extreem onwenselijk.