Ptit question sur les sessions

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ptit question sur les sessions

par arno77 » 31 mai 2005, 15:50

ok et merci pour l'info

par ant » 31 mai 2005, 15:45

Lis mon edit : )
la session est conservée pendant un certain temps, et quelqun d'autre peut éventuellement l'utiliser jusqu'à sa destruction.

par arno77 » 31 mai 2005, 15:41

J'ai resolu le problème mais quel peut être le danger si il n'y a pas de time out :?:

par ant » 31 mai 2005, 15:34

Oui tu peux définir un time out pour tes sessions et, c'est conseillé d'ailleurs même si tu implémentes un systeme de destruction de session à la déconnexion du client.

Exemple:
session_start();
$_SESSION['dernier_acces'] = time();
dans une page tu définis le timeout:
 
$timeout = 300;
et dans les pages ou tu ouvres des sessions, tu vérifies par exemple de cette façon :
if(time() - $_SESSION['dernier_acces'] > $timeout) {
    session_destroy();
     // etc
}
 
edit: attention la session n'est pas détruite à la fermeture de la page mais elle est conservée pendant un certain temps jusqu'à échéance définie par le timer dans le php.ini, après quoi elle est détruite.
Donc sans déconnexion explicite de la part de l'utilisateur, le seul recours est un timer scripté comme celui ci-dessus

par manuscle » 31 mai 2005, 15:31

Je crois que tu peux le définir dans le php.ini
sinon faut faire un script
Mais normalement lorsque tu ferme le navigateur, la session s'efface automatiquement, à part si elle est rappellé d'après un cookie. Dans ce cas c'est sur le cookie qu'il faut définir la durée.

Ptit question sur les sessions

par arno77 » 31 mai 2005, 15:17

Peut t'on definir un durée de vie à une session c'est à dire detruire toutes les session au bout de 24h.