Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1157 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  détruire une session à la fermeture du navigateur !?! (réponse inside)

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Page Précédente
Auteur Sujet :

détruire une session à la fermeture du navigateur !?! (réponse inside)

n°371851
nero27
Posté le 25-04-2003 à 14:41:03  profilanswer
 

Voilà mon problème : je voudrais que lorsque l'utilisateur ferme son navigateur, la session en cours soit détruite.
 
Seulement, après recherche, il apparait que cela est impossible :/
 
Mais, je me demandais quand même s'il n'était pas possible de détecter la fermeture du navigateur en javascript (je précise au passage que je n'y connais pas grand chose dans ce langage) et d'appeler un script PHP qui détruirait la session : Qu'en pensez-vous ?
 
 
EDIT : réponse page 3 !!!


Message édité par nero27 le 29-04-2003 à 12:15:32
mood
Publicité
Posté le 25-04-2003 à 14:41:03  profilanswer
 

n°371855
Hermes le ​Messager
Breton Quiétiste
Posté le 25-04-2003 à 14:43:30  profilanswer
 

Heu... Les sessions php sont détruites à la fermeture du navigateur...  :heink:  Enfin, en tout cas, sur IE 5 et 6, Mozilla 1+ et Opera 6+  :heink:

n°371878
nero27
Posté le 25-04-2003 à 14:53:05  profilanswer
 

Elle n'est pas détruite chez moi pourtant :heink:  
 
(IE 5.5)

n°371887
Hermes le ​Messager
Breton Quiétiste
Posté le 25-04-2003 à 14:55:28  profilanswer
 

nero27 a écrit :

Elle n'est pas détruite chez moi pourtant :heink:  
 
(IE 5.5)


 
hé ??  [:totozzz]  
 
C'est quoi ta session miraculeuse ? Tu n'aurais pas des cookies qui trainent en plus par hasard ? Laisse-moi deviner... Tu as copié un script qui utilisent des sessions, et la session ne se ferme pas à la fermeture du navigateur... C'est bien ça ?  :whistle:

n°371896
samuelp
Posté le 25-04-2003 à 14:57:47  profilanswer
 

Hermes le Messager a écrit :


 
hé ??  [:totozzz]  
 
C'est quoi ta session miraculeuse ? Tu n'aurais pas des cookies qui trainent en plus par hasard ? Laisse-moi deviner... Tu as copié un script qui utilisent des sessions, et la session ne se ferme pas à la fermeture du navigateur... C'est bien ça ?  :whistle:  


 
En fait c tout con, cf php.ini

n°371897
nero27
Posté le 25-04-2003 à 14:57:51  profilanswer
 

Hermes le Messager a écrit :


 
hé ??  [:totozzz]  
 
C'est quoi ta session miraculeuse ? Tu n'aurais pas des cookies qui trainent en plus par hasard ? Laisse-moi deviner... Tu as copié un script qui utilisent des sessions, et la session ne se ferme pas à la fermeture du navigateur... C'est bien ça ?  :whistle:  


Non, j'ai créé moi-même le script et je n'utilise pas les cookies (désactivés dans le fichier php.ini) !

n°371900
nero27
Posté le 25-04-2003 à 14:58:28  profilanswer
 

samuelp a écrit :


 
En fait c tout con, cf php.ini


on règle ça dans php.ini ?
 
C'est quelle valeur qu'il faut changer ?

n°371926
Hermes le ​Messager
Breton Quiétiste
Posté le 25-04-2003 à 15:03:05  profilanswer
 

nero27 a écrit :


Non, j'ai créé moi-même le script et je n'utilise pas les cookies (désactivés dans le fichier php.ini) !


 
Alors, tu es l'heureux possesseur du SEUL navigateur que je connais qui ne ferme pas les sessions...  [:totozzz]

n°371938
nero27
Posté le 25-04-2003 à 15:07:22  profilanswer
 

Hermes le Messager a écrit :


 
Alors, tu es l'heureux possesseur du SEUL navigateur que je connais qui ne ferme pas les sessions...  [:totozzz]  


Qu'est-ce que tu entends par fermer la session !
 
Parce que oui, quand je  ferme le navigateur et que je le réouvre, la session change. Mais moi ce que je veux, c'est que quand je ferme IE, c'est que la session soit effacée du dossier sessions du serveur !

n°371985
Hermes le ​Messager
Breton Quiétiste
Posté le 25-04-2003 à 15:25:28  profilanswer
 

nero27 a écrit :


Qu'est-ce que tu entends par fermer la session !
 
Parce que oui, quand je  ferme le navigateur et que je le réouvre, la session change. Mais moi ce que je veux, c'est que quand je ferme IE, c'est que la session soit effacée du dossier sessions du serveur !


 
pourquoi faire ?  :??:

mood
Publicité
Posté le 25-04-2003 à 15:25:28  profilanswer
 

n°372024
nero27
Posté le 25-04-2003 à 15:41:09  profilanswer
 

Hermes le Messager a écrit :


 
pourquoi faire ?  :??:  


pour éviter qu'un autre utilisateur se serve du cache de IE pour se connecter sur une session "résiduelle" et donc utiliser les habilitations d'un autre !

n°372029
Sh@rdar
Ex-PhPéteur
Posté le 25-04-2003 à 15:42:14  profilanswer
 

si tu définis un temps d'expiration du cookie de session à 0 le cookie est détruit à la fermeture du browser
 
sans cookie, et avec un id d'url inexistant (puisque navigateur fermé) il est impossible de récupérer la session précédente
 
je vois pas pourquoi faut obligatoirement lancer le garbage ...

n°372036
nero27
Posté le 25-04-2003 à 15:45:18  profilanswer
 

et bien, dans le cache de IE, l'url reste avec le SID en bout de ligne :/

n°372048
ethernal
Chercheur de vérité...
Posté le 25-04-2003 à 15:56:24  profilanswer
 

voila pq il est intéressant pour l'utilisateur d'utiliser un bouton "déconnexion" comme sur hotmail par exemple...
 
tu peux pas le faire à sa place.
Ce que tu peux faire, c'est diminuer le temps de vie des fichiers sessions sur le serveur en nettoyant fréquemment le répertoire.


---------------
...oups kernel error...
n°372055
nero27
Posté le 25-04-2003 à 16:03:35  profilanswer
 

Ok, mais, j'ai intérêt d'avoir des utilisateurs très attentifs, parce que mon application est qd mm destinée à des utilisateurs non informaticiens qui oublieront 2 fois sur 3 de se délogguer :/
 
De plus, il y a toujours des petits malins qui sont capables de comprendre qu'en utilisant l'URL d'un autre, il est possible d'utiliser ses habilitations !
 
Donc, pour en revenir à mon idée départ, n'est-il pas possible de lancer un script PHP (qui effacerait la session) par le biais de JS lors de la fermeture du navigateur ?

n°372092
Sh@rdar
Ex-PhPéteur
Posté le 25-04-2003 à 16:32:36  profilanswer
 

faudrait savoir hein
 
soit ce sont pas des informaticiens et ils savent même pas où se trouve les fichiers de cache
 
soit ils savent et alors authentification avec déconnexion obligatoire...

n°372110
nero27
Posté le 25-04-2003 à 16:53:32  profilanswer
 

Sh@rdar a écrit :

faudrait savoir hein
 
soit ce sont pas des informaticiens et ils savent même pas où se trouve les fichiers de cache
 
soit ils savent et alors authentification avec déconnexion obligatoire...


bah en fait, c'est pas des informaticiens, mais y'en a qd mm 1 ou 2 qui sont un petit peu plus malins que les autres ;)

n°372118
Masure
Posté le 25-04-2003 à 16:57:50  profilanswer
 

associe une session avec une IP, tu vas voir qu'ils feront ptet moins les malins deja :) (valable si ton site est plutot destiné à bcp de machines et non pas une borne pour 30 personnes)

n°372123
nero27
Posté le 25-04-2003 à 17:00:21  profilanswer
 

masure a écrit :

associe une session avec une IP, tu vas voir qu'ils feront ptet moins les malins deja :) (valable si ton site est plutot destiné à bcp de machines et non pas une borne pour 30 personnes)


et bien, c'est ça lme problème, c'est que plusieurs personnes peuvent utiliser la même machine :sweat:

n°372135
Masure
Posté le 25-04-2003 à 17:04:52  profilanswer
 

Ya ptet moyen de bricoler ca avec le http_referer stocké dans une var de session. Un truc qui te jette si ton referer ne correspond pas avec celui de la session.
 
un gars se balade tranquille :
 
referrer du server = referrer de la session
 
ton gars ferme ie et un autre passe derriere :
 
refferer du server != referrer de session puisque IE reouvert ...
 
Enfin c'est vraiment se raccrocher aux branches mais si tu veux faire chier les ptits malins, la je crois qu'ils vont pleurer

n°372142
nero27
Posté le 25-04-2003 à 17:10:33  profilanswer
 

je connais pas ce truc : je vais regarder ça de plus près ;)

n°372161
luap7
Posté le 25-04-2003 à 17:22:15  profilanswer
 

Salut
Je me suis posé la même question que toi et je pense avoir trouvé une solution : tu crées un une page avec deux cadres : un qui occupe une largeur de 1 pixel et l'autre le reste de la page.
Quand l'utilisateur est sur ton site, il navigue dans le second cadre, et dans le premier tu mets un événement javascript onUnload qui ouvre un fichier php qui ferme la session.
Ca donne :
 
 
<frameset rows="*" cols="1,*" framespacing="0" frameborder="NO" border="0">
  <frame src="deconnexion.htm" name="detect">
  <frame src="pageprincipale.htm" name="page" noresize>
</frameset>
<noframes><body>
 
</body></noframes>
</html>
 
 
 
Pour la page qui contient les cadres
 
 
Dans deconnexion.htm tu mets :
 
 
<HTML>
<HEAD>
</HEAD>
<BODY onUnload="open('logout.php';);">
</BODY>
</HTML>
 
 
Ce qui ouvre logout.php qui te ferme la session
L'inconvénient c que ca fait une popup mais bon ...
Je peux pas te garantir a 100% que ca marche mais chez moi ca fonctionne
Ca pose un probleme si l'utilisateur veut actualiser sa page aussi mais on doit pouvoir y remédier
Voila

n°372165
nero27
Posté le 25-04-2003 à 17:27:38  profilanswer
 

y'a de l'idée :jap:
 
Y'a peut-être moyen de mettre la frame de gauche dans une iframe, non ?
Ca règlerait peut-être le pb de l'actualistation :??:

n°372166
kadreg
profil: Utilisateur
Posté le 25-04-2003 à 17:27:42  profilanswer
 

luap7 a écrit :


<BODY onUnload="open('logout.php';);">


 
Chez moi, ça va rien faire ce truc.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°372171
nero27
Posté le 25-04-2003 à 17:28:58  profilanswer
 

kadreg a écrit :


 
Chez moi, ça va rien faire ce truc.


pkoi, parce que tu as désactivé le javascript ?
 
Moi, j'ai pas de pbs là-dessus, c'est pour un intranet d'entreprise : tous les postes sont réglés par nos soins ;)

n°372172
kadreg
profil: Utilisateur
Posté le 25-04-2003 à 17:30:54  profilanswer
 

nero27 a écrit :


pkoi, parce que tu as désactivé le javascript ?


 
Parceque mozilla n'honore pas les open et les close dans une fonction OnLoad et OnUnload


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°372177
luap7
Posté le 25-04-2003 à 17:34:29  profilanswer
 

Du moment qu'ils utilisent IE sur les pc ou tu veux utiliser ton truc ca va ...
Pour les iframes je sais pas si ca peut marcher je vais tester mais bon c pareil ca marchera que avec IE ...

n°372179
nero27
Posté le 25-04-2003 à 17:35:09  profilanswer
 

kadreg a écrit :


 
Parceque mozilla n'honore pas les open et les close dans une fonction OnLoad et OnUnload


ca va, ici c'est IE !
 
Mais c'est sûr que mozilla évite les problèmes de pop up de cette façon :sol:

n°372199
luap7
Posté le 25-04-2003 à 18:00:00  profilanswer
 

J'ai essayé avec une iframe mais ca a pas marche :(  
Mais j'ai voulu vérifier et en fait l'actualisation ca marchait meme avec une frame (en tt cas chez moi) j'avais pas teste... :sleep:

n°372221
the real m​oins moins
Posté le 25-04-2003 à 18:25:20  profilanswer
 

suffit d'utiliser des cookies au lieu du sid dans les urls :o


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°372338
chrono
Ne m'appelez plus Dieu...
Posté le 25-04-2003 à 22:17:41  profilanswer
 

Tu peux désactiver l'affichage du SID dans l'url.....
Voir "--enable-trans-sid" dans php.ini
 
Pourquoi vous prendre la tête???? :pfff:  
 
Perso je fais ça:
 
- j'arrive sur le site page index....
- je vais sur la zone admin ou client.. par ex...
- la page d'authentification s'ouvre...
- et se redirige vers la page du menu de l'utilisateur (celle ci ne dois pas être fermée ni actualisée car javascript de fermeture lié à l'événement "unload" )
- si je clique sur une action du menu (un lien) cela ouvre une autre page (target='_blank';)... et c'est sur ces page que l'utilisateur travaille..
 
Ainsi il peux faire ce qu'il veux, quand il a fini de travailler il ferme sa page et la session se ferme, les variables de session sont détruites etc.. etc.. (stats)
 
Cela en complément d'un lien "déconnexion" sur toutes les pages (ne réagissant pas tout le tps de la même façon mais bon..)
 
Si tu TAF sur ton propre serveur, tu peux affecter un nom de session différent pour chacun de tes clients.. (son nom plus un "ID" par ex..) Moi je voulais l'utiliser pour mes stats, toi ptetre tu peux en faire une sécurité..


Message édité par chrono le 25-04-2003 à 22:30:33
n°372344
the real m​oins moins
Posté le 25-04-2003 à 22:30:16  profilanswer
 

Chrono a écrit :

Tu peux désactiver l'affichage du SID dans l'url.....
 
 
Pourquoi vous prendre la tête???? :pfff:  
 
Perso je fais ça:
 
- j'arrive sur le site page index....
- je vais sur la zone admin ou client.. par ex...
- la page d'authentification s'ouvre...
- et se redirige vers la page du menu de l'utilisateur (celle ci ne dois pas être fermée ni actualisée car javascript de fermeture lié à l'événement "unload" )
- si je clique sur une action du menu (un lien) cela ouvre une autre page (target='_blank';)... et c'est sur ces page que l'utilisateur travaille..
 
Ainsi il peux faire ce qu'il veux, quand il a fini de travailler il ferme sa page et la session se ferme, les variables de session sont détruites etc.. etc.. (stats)
 

[:vomi]
et c'est faux en plus :o


Message édité par the real moins moins le 25-04-2003 à 22:32:52

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°372346
chrono
Ne m'appelez plus Dieu...
Posté le 25-04-2003 à 22:30:53  profilanswer
 

pkoi?

n°372347
the real m​oins moins
Posté le 25-04-2003 à 22:32:27  profilanswer
 

tu dis que tu n'utilises pas le sid, tu utilises donc un cookie à la place pour gerer tes sessions
si tu ouvres une nvlle fenetre, c'est pas pour ça que le navigateur va tuer le cookie quand elle sera fermée, vu qu'il y a tjs l'autre d'ouverte
et puis baser ta securité sur le fait d'ouvrir une autre fenetre (ce qui est deja tres laid) franchement :sarcastic:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°372349
chrono
Ne m'appelez plus Dieu...
Posté le 25-04-2003 à 22:35:54  profilanswer
 

j'utilise le SID mais il n'est pas apparent dans l'url grace à "--enable-trans-sid" du php.ini...
je n'utilise pas de cookie T ouf ! :ouch:  
 
Autrement, ca fais très cool..
- J'arrive sur la page de menu (une seule page d'ouverte)
- j'ouvre une page (elle s'ouvre en plein écran, pour l'user C invisible..) donc 2 pages..
 
Sérieusement ça fais propre..


Message édité par chrono le 25-04-2003 à 22:41:08
n°372359
chrono
Ne m'appelez plus Dieu...
Posté le 25-04-2003 à 22:45:12  profilanswer
 


 
Ben oui mais CT la seule façon que G trouvé pour répondre à mon besoin..
 
Javascript.. ok tant pis..
target='_blank' car il fô pouvoir travailler en même temps sur plusieurs pages ouvertes..


Message édité par chrono le 25-04-2003 à 22:46:01
n°372364
omega2
Posté le 25-04-2003 à 22:50:06  profilanswer
 

Chrono a écrit :

j'utilise le SID mais il n'est pas apparent dans l'url grace à "--enable-trans-sid" du php.ini...
je n'utilise pas de cookie T ouf ! :ouch:  
 
Autrement, ca fais très cool..
- J'arrive sur la page de menu (une seule page d'ouverte)
- j'ouvre une page (elle s'ouvre en plein écran, pour l'user C invisible..) donc 2 pages..
 
Sérieusement ça fais propre..

Moi, je trouve pas ça propre.
Et les utilisateur en général, détestent cacher leur barre des taches. Si tu aimes faire peur aux gens qui n'y conaisssent rien en informatique (du genre qui sont perdus quand une feuille se coince dans l'imprimante) tu t'y prends bien. ;)
Et si c'est du plein écran mais sans cacher la barre des taches alors on voit bien qu'il y a deux fenêtre d'ouverte.
 
Je peux parler de ce problème, j'ai a ma charge une centaine de PC là où je bosses et je peux te dire que les utilisateurs peuvent ce révéler très emmerdant quand tu leur changes leurs habitudes.

n°372366
chrono
Ne m'appelez plus Dieu...
Posté le 25-04-2003 à 22:54:55  profilanswer
 

Je ne l'ouvre pas en PLEIN écran sans les barres.. :pfff:
 
Elle s'ouvre entièrement quoi.. en grand...
 
Ben je me suis prêtre mal exprimé..Désolé
 
Mais il voit la page ou il travaille.. normal..
Et la page de menu (qu'il ne fô pas fermer.. mais C indiqué)
C'est indispenssable à mon cahier des charges donc je ne vois pas le problème..


Message édité par chrono le 25-04-2003 à 22:57:13
n°372371
the real m​oins moins
Posté le 25-04-2003 à 23:02:15  profilanswer
 

Chrono a écrit :

j'utilise le SID mais il n'est pas apparent dans l'url grace à "--enable-trans-sid" du php.ini...
je n'utilise pas de cookie T ouf ! :ouch:  

et il est ou alors le sid a ton avis :lol:
 
 
(et keske ça a de ouf d'utiliser un cookie correctement :heink:)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°372373
chrono
Ne m'appelez plus Dieu...
Posté le 25-04-2003 à 23:04:12  profilanswer
 

je n'utilise pas de cookie car les clients n'aiment pas les cookies...
 
Le SID est dans l'url mais invisible   :sarcastic:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  détruire une session à la fermeture du navigateur !?! (réponse inside)

 

Sujets relatifs
Pb fermeture formulaire sous access[php]Warning:Cannot send session cache limiter - headers already sent
Generer un XML super newbie inside[PHP] Mon source s'affiche dans la page ! help plz ( code inside )
[SQL] OR inclusif? question inside [NewB][PhP et Free] Session_start et header location
[PHP] Probleme pour supprimer une variable de session[CSS] mon image change de taille suivant le navigateur ...
sujet: cherche navigateur WAP 2.0 sur PCGrosse variable de session, est-ce bien
Plus de sujets relatifs à : détruire une session à la fermeture du navigateur !?! (réponse inside)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR