2010-05-19 7 views
3

J'ai un problème, vous expliquera comment reproduire le problème:variables de session survive après la déconnexion

1- Connectez-vous à ma page (variables Sesión définies comme $ _SESSION [ 'connecté'] = true et $ _SESSION [ » id '] = 123

2-puis dans le menu principal je clique sur l'option de fermeture de session, le code comme celui-ci

function logout() 
{ 
    session_start(); 
    $_SESSION['id'] = null; 
    $_SESSION['logged'] = null; 

    unset($_SESSION); 

    session_destroy(); 

    require_once('Views/SessionExpiredView.php'); 
} 

3- Dans la session a expiré vue j'afficher un lien de la page de connexion, il y a la session est null

4- Je reviens sur le navigateur et je clique sur ok pour renvoyer l'information

5-session redevient $ _SESSION ['logged'] = true et $ _SESSION ['id'] = 123 et je suis de nouveau connecté et capable de voir toutes les informations liées à l'ID 123

Ceci est un problème de sécurité et je ne sais pas ce qui se passe !!!

toute suggestion sera grandement appréciée.

Alejandra

+1

Êtes-vous sûr à 100% que la session est de retour même si vous rechargez la page explicitement en utilisant 'F5' ou' Shift + F5'? –

+0

http://en.wikipedia.org/wiki/Post/Redirect/Get –

+0

Si je viens de me déconnecter puis d'actualiser la page, les variables de session semblent être mortes mais si je clique après le f5 de retour sur le navigateur et que je renvoie l'info , la session récupère les valeurs lorsque l'utilisateur était actif :( – Alejandra

Répondre

3

4 - vous cliquez en arrière et cliquez sur « Renvoyez informations » - cela signifie que vous avez renvoyé vos informations précédente POST (apparemment thelogin et le mot de passe) - donc rien d'inhabituel. Un indice: il suffit de faire une redirection après l'enregistrement de l'utilisateur dans

+0

Oui, comme vous l'avez dit est un comportement normal, J'ai été souligné pour aucune raison jeje, merci beaucoup pour votre réponse et votre temps :) salutations de Guadalajara Mexique :) – Alejandra

0

Votre étape 4. est le problème, vous cliquez sur OK pour renvoyer les informations, ce qui est effectivement vos informations de connexion à l'étape 1.

Vous êtes juste se reconnecter ...

+0

oui vous avez raison, merci beaucoup pour votre réponse :) – Alejandra

Questions connexes