|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : août 2007 Messages : 20 ![]() |
Bonsoir,
J’ai une petite question concernant les sessions PHP et les utilisateurs d’AOL. J’ai créé un site ou les visiteurs peuvent accéder à un espace membre protégé par un système de session PHP. Tout fonctionne bien. De manière générale, les utilisateurs ne rencontrent pas de problèmes. Mais je reçois de temps en temps des mails de personnes me disant ne pas arriver à se connecter à mon espace membre. Après avoir regroupé toutes ces plaintes, je me rends compte que toutes ces personnes sont des utilisateurs d’AOL. Voici le système que j’utilise : 1. Je demande via un formulaire leur login et leur mot de passe 2. Je me connecte à ma base de donnée (MySQL) pour vérifier si le login et le mot de passe correspondent bien. 3. Si tout est ok, j’utilise le code suivant : Code :
4. Sur chaque page de mon espace sécurisé, j’utilise le code suivant : Code :
D'avance un tout grand merci pour votre aide. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() |
C'est AOL qui ne va pas, ils ont un système de gestion de sessions qui réinitialise ta session quasiment à toutes les pages. J'ai deja eu ce problème et je n'y ai pas trouvé de solutions.
Sur le site d'aol, si je me souviens bien, il préconisait de passer le sid dans les url (ce qui evidemment, foutait en l'air la qualité de mon rewriting). Bref, si quelqu'un a une solution assez propre, je suis preneur moi aussi. |
|
|
00
|
|
|
#3 | ||||
|
Membre Expert
![]() |
Bon, je viens de bosser sur le sujet vu que je trainais ca dans un "todo", voici ce que j'ai pu comprendre.
Le systeme de session n'est pas défaillanet que sur AOL mais aussi sur d'autres FAI. En fait, pour faire court, il s'agit d'un non respect des normes OSI qui causent ce problème de gestion des sessions. Le fait de passer le sid dans l'url permet de résoudre ce problème mais lorsque l'on fait du rewriting d'url, c'est vraiment pas beau. Donc, une autre solution consiste à gérer ses sessions via son propre gestionnaire. Voici donc le code d'un gestionnaire de sessions (qui marche je l'ai testé) mais qui nécessite mysql (tu peux stocker dans des fichiers texte si tu préfère en modifiant un peu le code suivant). Code de la classe sessions : Code :
Code :
|
||||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
quel est le point qui pose problème dans la configuration par défaut de PHP ?
__________________
Modérateur PHP |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() |
Le problème ne vient pas de php mais plutot de la gestion des sessions. Je vais essayer de m'expliquer sans dire trop d'aneries
La gestion des états de sessions *peut* se baser sur l'adresse IP source des requêtes web. En gros dans ce shéma, on a la sessions qui dépend (entre autres) de l'adresse IP source. Hors les cas sont nombreux où l'adresse IP d'un visiteur peut changer durant la navigation. Dans le monde de l'entreprise notamment, il y a beaucoup de systèmes de proxy http ou de système de "load balancing" qui modifient l'IP source. C'est le cas, il me semble pour les utilisateurs d'AOL et bien d'autres d'ailleurs. C'est pour celà qu'il est recommandé pour AOL de ne pas se baser sur l'IP pour gérer les sessions (http://webmaster.aol.fr/sessions.html). D'ailleurs il devrait être préconisé d'utiliser les cookies et les session-id dans l'url pour gérer les sessions. Et de ce fait, il faut proscrire la gestion d'une session via l'ip. c'est d'ailleurs ce que peut offrir les sessions php (via cookie notamment). Donc on est face à une anomalie dans le modèle OSI (je vous l'accorde, c'est pas le seul cas !). En effet, les sessions relèvent d'un niveau http (donc une couche supèrieure à 5 dans l'OSI) et se rendent dépendante du niveau IP c'est à dire du niveau 3, ce qui est une violation du modèle . L'utilisation de proxy est d'ailleusr parfaitement normalisé dans les normes HTML. Donc les sessions devraient tenir compte de ce comportement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com