Gestion session/cookie safari/browser-multithread/smartphone

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 : Gestion session/cookie safari/browser-multithread/smartphone

Re: Gestion session/cookie safari/browser-multithread/smartphone

par mojorisin » 26 août 2009, 13:16

Tout d'abord est-ce que le site fonctionnait sans problème au début ?
Ceci pour savoir si il n'y a pas eu une mise à jour de php ou du code.

Il faudrait que tu essaies de reproduire ce problème, en utilisant différents navigateurs (il me semble bizarre que cela vienne de cela) parce que sans cela tu va avoir du mal à cerner le problème.

Quelques points à vérifier :

1/ le repertoire où sont stocker les sessions dispose-t-il encore suffisament d'espace disque ?
2/ Passe la directive use_only_cookies à on

Ensuite à tester :
- le problème continue-t-il en utilisant la directive use_trans_sid ?
- le problème continue-t-il en supprimant le système de reconnexion automatique via les cookies ?

Vérifier aussi le code à la recherche d'un session_name() tapis quelque part.

Re: Gestion session/cookie safari/browser-multithread/smartphone

par jojolapine » 26 août 2009, 09:26

Alors merci pour la réponse, mais ça ne peut pas être ça, je n'ai pas renforcé la sécurité en regénérant l'id de session (à tort surement...), je n'ai pas non plus géré moi même l'identifiant, en gros il n' y a que le session_start() et la config qui entre en jeux...

Re: Gestion session/cookie safari/browser-multithread/smartphone

par AB » 25 août 2009, 19:30

Cela me rappelle que j'ai parfois eu des pertes de session aléatoires en utilisant session_regenerate_id(TRUE) sans trop savoir pourquoi puisque cela passait sans souci sur d'autres sites. Dans ce cas là j'ai remplacé par regenerate_id() et ça c'est arrangé (enfin pratiquement car théoriquement pour moi c'est toujours un mystère).

Gestion session/cookie safari/browser-multithread/smartphone

par jojolapine » 25 août 2009, 11:52

Bonjour à tous,
Je suis confronté à un problème difficilement "cernable" et reproductible...
Je pose les bases:
Nous avons un système d'authentification sur notre site, composé d'un côté de sessions pour une connection qui sera close lors de la fermeture du navigateur, et de l'autre, d'un cookie proposant de retenir un identifiant lié à l'utilisateur, afin de lui permettre de rester connecté même après fermeture/réouverture du navigateur. Le cookie s'il est présent et valide ne fait que créer les sessions adéquates.

Jusque là rien de bien extraordinaire (même si je simplifie un petit peu), tout système de connection ressemble plus ou moins à cela... Et tout fonctionne bien dans l'ensemble, sauf...

Lorsque les utilisateurs essayent de se connecter via smartphone (principalement iphone) directement, sur un poste accédant à internet via un smartphone ou pour des utilisateurs possédants des browser multi-thread (principalement safari 4/Mac OS et chrome windows), il arrive qu' a l'ouverture d'un nouvel onglet ou même durant la navigation sur notre site, les cookies (soient les cookies créé manuellements, soit le PHP_SESSID) ne soient plus pris en compte... et paf => deconnection!

J'ai eu beau triturer notre système de connection, je ne vois pas à priori de problème de ce côté là (même si ça n'est pas exclu ;) ) donc je me suis rabattu sur le materiel client et les configs clients, mais j'avoue être un peu perdu, je n'ai pas réussit à reproduire systématiquement le "bug"...

Je sais que les données que je vous donne sont bien vague, mais en désespoir de cause, je me dit que certains d'entre vous ont peut-être eu à faire à ce genre de problèmes...
Merci d'avance pour vos retours ;)

EDIT: Alors en regardant à droite à gauche, j'ai fait aussi un tour côté serveur, et j'ai trouvé que la configuration des sessions sur le serveur était peut-être la cause du bazard...
En gros si j'ai bien compris (je suis pas un pro de l'admin sys),
Bien que le cookie PHPSESSID ait une durée de vie infinie, les données côté serveur elles ont une durée de vie limitée à 24 minutes (si mes calculs sont bons), on ajoute à cela la probabilité d'exécution du garbage collector, est-ce que ça pourrait pas ressembler aux symptomes observé? (du coup les configs clients plus ou moins similaire ne seraient plus qu'un fruit du hasard...?)
sessions.png.png