Comment détruire la session avec le navigateur de clôture dans codeigniter
Récemment, j'ai développé une application web avec codeigniter. Je suis face à une session de problème lié à la il y de mal.
Problème de scénario:
Si l'utilisateur a ouvert Une session dans l'application, l'utilisateur identifiant de session. Après avoir fait la tâche de l'utilisateur A fermé son navigateur et de quitter l'ordinateur. Un peu plus tard l'utilisateur B est venu et ouvrez le navigateur et de voir la demande est enregistrée dans l'état. ou lorsque l'utilisateur B écrivez l'url et appuyez sur entrée directement redirigés vers l'application sans aucune authentification à l'aide de la session précédente.
J'ai utilisé la configuration suivante pour la session:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 1800;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Maintenant, ma question est comment puis-je détruire toute la session à la fermeture du navigateur ou le navigateur dans l'onglet codeigniter?
$config['sess_expire_on_close'] = TRUE;
. Sessions
- Que ce soit à cause de la session expire automatiquement lorsque la fenêtre du navigateur est fermé.il ne fonctionne pas. Est-il une autre solution?
Êtes-vous stocker les sessions dans une base de données?
non, je ne suis pas stocker les sessions dans une base de données.
OriginalL'auteur Ariful Islam | 2012-11-01
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser javascript et asynchron demande.
Lorsque vous fermez la fenêtre du gestionnaire de fenêtre.onunload est appelé
Pour résoudre le problème de redirection, php côté, vous pouvez utiliser un compteur
Il faut donc utiliser un compteur php côté. Et quand le compteur est à 0, alors vous n'avez détruire la session.
- Je modifier ma réponse pour vous montrer ce que je veux dire
OriginalL'auteur artragis
Modifier le
config.php
fichier et mettre ensess_expire_on_close
àtrue
.e.g
pas de travail à mon programme
OriginalL'auteur mohsin139
Ajouter un bouton de déconnexion.
Ont que le bouton de détruire la session avec CI construit en détruire la fonction.
OriginalL'auteur colonelclick
Regarder, et voir si cela aide.
https://github.com/EllisLab/CodeIgniter/wiki/PK-Session
OriginalL'auteur viperfx
Bien, je ne sais pas si vous avez déjà eu la solution, mais je me retrouve dans le même scénario dans CodeIgniter Version 3.0, en
config.php
, allez à laSession Variables
section et que vous pouvez définir:$config['sess_expiration'] = 0;
'sess_expiration
'Je le conçois, mais que faire si vous voulez que votre session expire sur les différents scénarios? Par exemple, à l'expiration de la session dans une heure ou lorsque le navigateur se ferme. Comment gérez-vous cela?
OriginalL'auteur José Miguel
Générale des fichier de config application/config/config.php, recherche pour $config[‘sess_expiration’]
changement
à
OriginalL'auteur bungdito
pour CI-3.0.4 localiser les éléments ci-dessous à l'intérieur "config.php" et définir en conséquence
OriginalL'auteur jeffsque
dans $config.php fichier
à
OriginalL'auteur sandeep kumar