session_regenerate_id()

  • Ik ben er nu al een tijd mee bezig, maar ik kom er maar niet uit hoe ik session_regenerate_id() moet gebruiken.


    Het probleem is als volgt. Een gebruiker logt in op de website en er wordt een $_SESSION aan hem verbonden. Tegen session fixation kun je dan de functie session_regenerate_id() gebruiken, om bijv. iedere request het id van de session te veranderen.


    Ik gebruik het volgende stuk code:


    PHP
    <?php
    session_regenerate_id(true);
    $_SESSION['username'] = session_id();
    ?>


    Om de een of andere reden lukt het me nog steeds om met de oude cookie in te loggen.


    Iemand die weet wat ik fout doe? :)


    MVG, Pat4561

  • Hallo,


    Als je zegt dat je met de oude cookie nog kan inloggen, bedoel je dan de oude session cookie?


    Want dat laatste is niet volledig duidelijk.


    Wat session regeneratie doet is eigenlijk alleen de id veranderen en alle informatie die in de andere sessie variabelen zit behouden.


    Bv:


    (van php.net)


    Wat je eens kan proberen is session_start(); vanboven zetten en overal in de code alle variabelen te echo'en.


    Update: aangezien je true zet in de session_regenerate_id(true) ga je alle oude informatie wegwerpen.


  • Nee ik bedoel de oude cookie na de regeneratie. Door true aan de functie mee te geven kon je dat als het goed is voorkomen omdat de oude cookie gedeletet wordt.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!