2015-10-28 1 views
3

Tout d'abord, je dois vous rappeler que j'ai lu this question, j'utilise Codeigniter 3. Je veux détruire la session avec la fermeture du navigateur comme la session PHP! j'ai lu somethings sur l'utilisation ajax comme ceci:Comment détruire la session avec la fermeture du navigateur dans codeigniter 3

var unloadHandler = function(e){ 
     //here ajax request to close session 
    }; 
window.unload = unloadHandler; 

et .... Mais je ne veux pas me rendre dépendant de js pour détruire la session avec la fermeture du navigateur. c'est mon config.php

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'soheil_blog_name'; 

$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = NULL; 
$config['sess_match_ip'] = FALSE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = FALSE; 
+1

http://stackoverflow.com/questions/13174297/how-to-destroy-session-with-browser-closing-in-codeigniter – Saty

+0

c'est pas Codeigniter 3 –

Répondre

5

Il vous suffit de mettre « sess_expiration » à 0, comme décrit dans le manual et dans le config.php comments.

Remarque: Techniquement, vous ne pouvez pas vraiment détruire la session lorsque le navigateur est fermé. Vous pouvez seulement demander au navigateur de supprimer le cookie de session après sa fermeture, mais la session elle-même est toujours utilisable côté serveur (c'est-à-dire si vous êtes victime d'une attaque MITM et que quelqu'un a volé l'ID de session).
La session est effectivement supprimée plus tard par le garbage collector.

+0

Gardez à l'esprit que, même avec 'sess_expiration' mis à 0, si l'utilisateur utilise le paramètre de navigateur «Continuer là où vous l'avez laissé», le navigateur ne supprimera même pas le cookie. Donc, ce n'est pas que Codeigniter fasse quelque chose de mal, c'est juste dans certains scénarios, le navigateur lui-même peut faire que cette fonctionnalité ne fonctionne pas comme prévu. Ceci est discuté plus loin dans cette question: http://stackoverflow.com/questions/10617954/chrome-doesnt-delete-session-cookies – justanotherprogrammer