Voor het inloggen op mijn site gebruikte ik voorheen alleen sessions om de variabelen door te geven. Nu wilde ik cookies gebruiken, om het sessionid op te slaan, zodat ik de sessions steeds opnieuw kan gebruiken, dit heb ik op dit moment als volgt gedaan. Bij het inlog-script doe ik dit:
Hiermee maak ik dus een cookie aan met het session-id erin. Na het inloggen wordt ik doorgestuurd naar de index-pagina, waar ik check of er een cookie gezet is:
Hiermee wordt dus de eventuele waarde van het session-id uitgelezen, en gebruikt. Het uitloggen doe ik als volgt:
Klopt dit zo? Qua volgorde, maar ook qua veiligheid e.d.? En deze code werkt niet wanneer de cookies uitstaan op de pc van de gebruiker. Opzich is dat niet zo'n probleem, omdat dat tegenwoordig (geloof ik) toch niet zovaak meer voorkomt, maar waarom werkt het eigenlijk niet?
code:
1
2
3
4
5
6
7
| $_SESSION['login_id'] = $login_row['id']; $_SESSION['login_name'] = $login_row['name']; $_SESSION['login_email'] = $login_row['email']; $_SESSION['login_city'] = $login_row['city']; $_SESSION['login_level'] = $login_row['level']; $_SESSION['login'] = 1; setcookie('sid', session_id()); |
Hiermee maak ik dus een cookie aan met het session-id erin. Na het inloggen wordt ik doorgestuurd naar de index-pagina, waar ik check of er een cookie gezet is:
code:
1
2
3
4
| if (isset($_COOKIE['sid'])) { $sid = $_COOKIE['sid']; session_id($sid); } |
Hiermee wordt dus de eventuele waarde van het session-id uitgelezen, en gebruikt. Het uitloggen doe ik als volgt:
code:
1
2
3
| session_start(); session_destroy(); setcookie ('sid', '', time() - 3600); |
Klopt dit zo? Qua volgorde, maar ook qua veiligheid e.d.? En deze code werkt niet wanneer de cookies uitstaan op de pc van de gebruiker. Opzich is dat niet zo'n probleem, omdat dat tegenwoordig (geloof ik) toch niet zovaak meer voorkomt, maar waarom werkt het eigenlijk niet?