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

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

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

n°374088
nero27
Posté le 28-04-2003 à 11:44:52  profilanswer
 

Reprise du message précédent :

masure a écrit :


 
Masure est tres content, sa solution marche  [:yaisse2]  


 [:spikler]


Message édité par nero27 le 28-04-2003 à 17:59:54
mood
Publicité
Posté le 28-04-2003 à 11:44:52  profilanswer
 

n°374244
nero27
Posté le 28-04-2003 à 13:41:49  profilanswer
 

alors, personne n'a trouvé un défaut de sécurité dans cette façon de faire !?!
 
sinon, je vais essayer de faire avec la méthode de gc_probability ;)

n°374249
samuelp
Posté le 28-04-2003 à 13:44:15  profilanswer
 

nero27 a écrit :

Je viens de faire un test avec $HTTP_REFERER et ça m'a l'air assez concluant !
 
En fait, en début de page, je teste si sa valeur est vide. Si oui, alors j'envoie un message d'erreur et je n'execute pas le reste de la page ( exit() ).
Sinon, j'exécute la page normalement.
 
Si vous voyez une faille dans ce système, n'hésitez pas à m'en faire part ;)


 
Il me semble (a verifier) que le HTTP_REFERER est nul si tu passe directement sur un des fichiers de ton site.
 
 Faut garder ce topic en vie j'ai le meme pb que toi  :sweat:

n°374285
nero27
Posté le 28-04-2003 à 13:57:29  profilanswer
 

samuelp a écrit :


 
Il me semble (a verifier) que le HTTP_REFERER est nul si tu passe directement sur un des fichiers de ton site.
 
 Faut garder ce topic en vie j'ai le meme pb que toi  :sweat:  


ben, en fait, pour tester, j'ai tapé directement l'adresse :
***/recherche_multicritere.php?PHPSESSID=d91f1618e5597a2e26934d9b9b02419a et dans ce cas-là, $HTTP_REFERER est nulle !
sinon, en passant par les liens, elle a bien comme valeur la page précédente !


Message édité par nero27 le 28-04-2003 à 13:58:29
n°374312
omega2
Posté le 28-04-2003 à 14:17:28  profilanswer
 

nero27 a écrit :


ben, en fait, pour tester, j'ai tapé directement l'adresse :
***/recherche_multicritere.php?PHPSESSID=d91f1618e5597a2e26934d9b9b02419a et dans ce cas-là, $HTTP_REFERER est nulle !
sinon, en passant par les liens, elle a bien comme valeur la page précédente !

En cas de liens ouvrant une nouvelle fenêtre, il me semble que le $HTTP_REFERER est nul également.
Autre chôse, si les variables globales ne sont pas initialisé, $HTTP_REFERER est toujours vide. ;)

n°374429
Masure
Posté le 28-04-2003 à 14:59:09  profilanswer
 

omega2 a écrit :

En cas de liens ouvrant une nouvelle fenêtre, il me semble que le $HTTP_REFERER est nul également.
Autre chôse, si les variables globales ne sont pas initialisé, $HTTP_REFERER est toujours vide. ;)


 
Ca c'est un faux probleme puisque quand register_globals est a off tu y accedes via le tableau associé ($_ENV ou $_SERVER)

n°374449
nero27
Posté le 28-04-2003 à 15:04:22  profilanswer
 

omega2 a écrit :

En cas de liens ouvrant une nouvelle fenêtre, il me semble que le $HTTP_REFERER est nul également.
Autre chôse, si les variables globales ne sont pas initialisé, $HTTP_REFERER est toujours vide. ;)


1. je n'ouvre pas de nouvelles pages (tout dans la meme fenetre de navigation) :sol:  
2. je comprends pas bien ton histoire de variables globales :heink:

n°374452
nero27
Posté le 28-04-2003 à 15:05:13  profilanswer
 

samuelp a écrit :


 
Il me semble (a verifier) que le HTTP_REFERER est nul si tu passe directement sur un des fichiers de ton site.
 
 Faut garder ce topic en vie j'ai le meme pb que toi  :sweat:  


C'est quoi précisément ton problème en fait ?

n°374508
Masure
Posté le 28-04-2003 à 15:19:54  profilanswer
 

nero27 a écrit :


C'est quoi précisément ton problème en fait ?


 
Ben il dit que si un utilisateur arrive sur ton site sans passer par ton index.xxx ben il se tape un referer nul qui met un peu la zone. Mais moi je trouve que pour ton genre de site (il me semble hein), un utilisateur qui ne passe pas par l'accueil est un vilain. Donc le referer est un bon choix (si on trouve pas de problemes qu'on aurait pas prevus)

n°374562
nero27
Posté le 28-04-2003 à 15:32:56  profilanswer
 

masure a écrit :


 
Ben il dit que si un utilisateur arrive sur ton site sans passer par ton index.xxx ben il se tape un referer nul qui met un peu la zone. Mais moi je trouve que pour ton genre de site (il me semble hein), un utilisateur qui ne passe pas par l'accueil est un vilain. Donc le referer est un bon choix (si on trouve pas de problemes qu'on aurait pas prevus)


En fait, je lui demandais son problème à lui (il est intéressé par ce topic pour cette raison ;)) !
 
Sinon, oui, c'est bien dans mon cas, car comme tu l'as compris, chaque utilisateur est obligé de passer par la page d'accueil (pour que je puisse lire dans sa base de registre quels sont ses habilitations) !

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

n°374587
Masure
Posté le 28-04-2003 à 15:37:15  profilanswer
 

nero27 a écrit :


En fait, je lui demandais son problème à lui (il est intéressé par ce topic pour cette raison ;)) !
 
Sinon, oui, c'est bien dans mon cas, car comme tu l'as compris, chaque utilisateur est obligé de passer par la page d'accueil (pour que je puisse lire dans sa base de registre quels sont ses habilitations) !


 
qu est ce que tu lis dans sa BDR ?

n°374602
nero27
Posté le 28-04-2003 à 15:40:47  profilanswer
 

masure a écrit :


 
qu est ce que tu lis dans sa BDR ?


Et bien en fait, chaque utilisateur se connecte à son poste avec une carte à puce qui inscrit son login (numérique) dans une clé de la bdr. Je lis donc cette clé et je compare avec les logins inscrits dans la table agents.

n°374652
Masure
Posté le 28-04-2003 à 15:55:16  profilanswer
 

nero27 a écrit :


Et bien en fait, chaque utilisateur se connecte à son poste avec une carte à puce qui inscrit son login (numérique) dans une clé de la bdr. Je lis donc cette clé et je compare avec les logins inscrits dans la table agents.


 
Ok c'est noté :)
 
en fait j'avais eu peur pasque la semaine derniere, un forumeur voulait lire un login NT dans la BDR. Donc au cas où, je demande.

n°374731
nero27
Posté le 28-04-2003 à 16:11:39  profilanswer
 

masure a écrit :


 
Ok c'est noté :)
 
en fait j'avais eu peur pasque la semaine derniere, un forumeur voulait lire un login NT dans la BDR. Donc au cas où, je demande.


et je le fais pas avec des outils web en + ;)
(spa possible :()

n°374818
Masure
Posté le 28-04-2003 à 16:34:00  profilanswer
 

nero27 a écrit :


et je le fais pas avec des outils web en + ;)
(spa possible :()


 
Tu veux dire spa possible de faire ta liaison entre lecteur de carte/site ?

n°374822
nero27
Posté le 28-04-2003 à 16:36:08  profilanswer
 

masure a écrit :


 
Tu veux dire spa possible de faire ta liaison entre lecteur de carte/site ?


et bien oui, je ne peux pas lire la bdr du client à partir d'un script serveur !

n°374942
nero27
Posté le 28-04-2003 à 17:35:25  profilanswer
 

Bon, pour faire encore plus propre, je suis en train de chercher du coté de l'évenement unUnload.
 
C'est-à-dire que je fais comme ça :

Code :
  1. <html>
  2. <head>
  3. <title></title>
  4. <script language="javascript">
  5. <!--
  6. function ferm(){
  7. document.location.replace('script.php');
  8. }
  9. //-->
  10. </script>
  11. </head>
  12. <body onUnload="javascript:ferm();">
  13. ...
  14. </body>
  15. </html>


 
et 'script.php' contient le code qui détruit la session.
 
Mais, je voudrais savoir si c'est possible de savoir si c'est une fermeture du navigateur ou un changement de page :??:


Message édité par nero27 le 28-04-2003 à 17:36:45
n°374945
El_gringo
Posté le 28-04-2003 à 17:37:57  profilanswer
 

J'avais cherché qqchose permettant de détecter la fermeture du navigateur. G rien trouvé.
Du coup j'ai un bouton de déconnexion dans la web-app.

n°374949
nero27
Posté le 28-04-2003 à 17:39:03  profilanswer
 

El_gringo a écrit :

J'avais cherché qqchose permettant de détecter la fermeture du navigateur. G rien trouvé.
Du coup j'ai un bouton de déconnexion dans la web-app.


ben, c'est ce que je vais me résoudre à faire, mais je voudrais bien que ça se fasse automatiquement :/

n°374965
El_gringo
Posté le 28-04-2003 à 17:51:57  profilanswer
 

nero27 a écrit :


ben, c'est ce que je vais me résoudre à faire, mais je voudrais bien que ça se fasse automatiquement :/


 
Ben, continues à chercher, mais j'te paris que tu trouveras pas.

n°374970
nero27
Posté le 28-04-2003 à 17:58:19  profilanswer
 

El_gringo a écrit :


 
Ben, continues à chercher, mais j'te paris que tu trouveras pas.


Je cherche, je cherche ...
 
Si je trouve je vous tiens au courant et vous me payez une bouteille : ok ?
 
 [:gilbert gosseyn]

n°375505
El_gringo
Posté le 29-04-2003 à 08:56:30  profilanswer
 

ça roule. T'as 10 jours. Après c toi qui la paye ! :D

n°375537
samuelp
Posté le 29-04-2003 à 09:23:34  profilanswer
 

J'ai trouvé (de mon coté) une solution :
 
dans le php.ini :
 

Code :
  1. session.cookie_lifetime=0
  2. session.use_cookie=1
  3. session.gc_probability=100

 
 
 
Comme ça je quitte mon nav : la session est detruite
Sinon ça reste ouvert

n°375548
Masure
Posté le 29-04-2003 à 09:28:04  profilanswer
 

samuelp a écrit :

J'ai trouvé (de mon coté) une solution :
 
dans le php.ini :
 

Code :
  1. session.cookie_lifetime=0
  2. session.use_cookie=1
  3. session.gc_probability=100

 
 
 
Comme ça je quitte mon nav : la session est detruite
Sinon ça reste ouvert


 
il me semble que nero27 avait deja parlé du probabilty 100


Message édité par Masure le 29-04-2003 à 09:29:02
n°375566
nero27
Posté le 29-04-2003 à 09:40:25  profilanswer
 

samuelp a écrit :

J'ai trouvé (de mon coté) une solution :
 
dans le php.ini :
 

Code :
  1. session.cookie_lifetime=0
  2. session.use_cookie=1
  3. session.gc_probability=100

 
 
 
Comme ça je quitte mon nav : la session est detruite
Sinon ça reste ouvert


 
le problème, c'est que je n'utilise pas les cookies :/

n°375572
nero27
Posté le 29-04-2003 à 09:42:48  profilanswer
 

El_gringo a écrit :

ça roule. T'as 10 jours. Après c toi qui la paye ! :D


Aïe, vu comme ça, c'est moins drôle :(  
 
 :D

n°375587
Masure
Posté le 29-04-2003 à 09:49:13  profilanswer
 

nero27 a écrit :


 
le problème, c'est que je n'utilise pas les cookies :/


 
Rafraichi moi la memoire (masure est un flemard ?), apres avoir mis en place la verif avec le referer, il reste quoi comme pb a resoudre ?

n°375609
nero27
Posté le 29-04-2003 à 10:00:31  profilanswer
 

masure a écrit :


 
Rafraichi moi la memoire (masure est un flemard ?), apres avoir mis en place la verif avec le referer, il reste quoi comme pb a resoudre ?


Et bien en fait, je voudrais réussir à détruire la session complètement !
La méthode du referer fonctionne, mais je la trouve moins sûre !

n°375813
the real m​oins moins
Posté le 29-04-2003 à 11:51:11  profilanswer
 

nero27 a écrit :


 
le problème, c'est que je n'utilise pas les cookies :/

c'est tres tres con ça


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°375828
nero27
Posté le 29-04-2003 à 11:58:51  profilanswer
 

j'ai trouvé : à moi la bouteille :D
 
voilà ce que ça donne :

Code :
  1. <html>
  2. <head>
  3. <title></title>
  4. <script language="javascript">
  5. <!--
  6. /*création d'une fonction ferm() qui va ouvrir le script de destruction de session*/
  7. function ferm(){
  8. //ouverture de la fenêtre contenant le script
  9. window.open('script.php','','toolbar=no, location=no, status=no, scrollbars=no, resizable=no, width=1, height=1, left=0, right=0');
  10. }
  11. //-->
  12. </script>
  13. </head>
  14. //appel de la fonction ferm avec l'évênement onunload
  15. <body style="font-family: Arial; font-size: 8 pt" onunload="javascript:ferm();">
  16. ...
  17. </body>
  18. </html>


 
et voici 'script.php'

Code :
  1. <script language="javascript">
  2. <!--
  3. //on teste si la fenêtre mère a été fermée
  4. if (window.opener.closed)
  5. {
  6. //si oui, on affiche un message puis on ferme cette fenêtre
  7.         alert("ca marche !!!" );
  8.         window.close();
  9. }       
  10. else
  11. {
  12. //sinon, on ferme la fenetre directement
  13.         window.close();
  14. }
  15. //-->
  16. </script>


Message édité par nero27 le 29-04-2003 à 12:07:38
n°375835
Masure
Posté le 29-04-2003 à 12:02:57  profilanswer
 

Traduit moi ca avec des phrases je connais rien en JS :/

n°375839
nero27
Posté le 29-04-2003 à 12:04:10  profilanswer
 

masure a écrit :

Traduit moi ca avec des phrases je connais rien en JS :/


OK, je vais éditer et commenter ;)

n°375860
Masure
Posté le 29-04-2003 à 12:19:09  profilanswer
 

Merci bcp, je comprend pas toutes les subtilités mais au moins je sais que ça peut se faire et si j'en ai besoin, je sais où trouver.

n°375866
gm_superst​ar
Appelez-moi Super
Posté le 29-04-2003 à 12:25:59  profilanswer
 

Normalement onunload ne fonctionne pas lorsqu'on ferme le navigateur...


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°375868
El_gringo
Posté le 29-04-2003 à 12:27:20  profilanswer
 

gm_superstar a écrit :

Normalement onunload ne fonctionne pas lorsqu'on ferme le navigateur...


 
je confirme. J'avais essayé avec IE6 en tout cas.

n°375870
nero27
Posté le 29-04-2003 à 12:28:56  profilanswer
 

et bien ça fonctionne très bien ici avec IE 5.5 sous win98 !


Message édité par nero27 le 29-04-2003 à 12:29:23
n°375873
nero27
Posté le 29-04-2003 à 12:31:40  profilanswer
 

nero27 a écrit :

et bien ça fonctionne très bien ici avec IE 5.5 sous win98 !


et avec onbeforeunload ?

n°375874
gm_superst​ar
Appelez-moi Super
Posté le 29-04-2003 à 12:32:59  profilanswer
 

Rectification c'est avec Mozilla que ça ne marche pas et c'est tout à fait normal : http://forum.hardware.fr/forum2.ph [...] 62#t161812
 
Edit: finalement le problème n'est pas nouveau :D


Message édité par gm_superstar le 29-04-2003 à 12:33:50

---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
n°375899
nero27
Posté le 29-04-2003 à 13:25:00  profilanswer
 

bah, pour moi, c'est résolu, je n'utilise qu'IE !

n°375908
the real m​oins moins
Posté le 29-04-2003 à 13:30:25  profilanswer
 

et c'est reparti pour 300pages de trolls  :sweat:


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°375924
nero27
Posté le 29-04-2003 à 13:38:57  profilanswer
 

the real moins moins a écrit :

et c'est reparti pour 300pages de trolls  :sweat:  


:??:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

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