0 votes

Problème de connexion basée sur la session après avoir déplacé les fichiers pertinents vers le site Root

J'ai un site que j'ai testé dans un sous-dossier de la racine du site de mon client. Je n'ai eu aucun problème de connexion pendant les tests, mais j'ai ensuite déplacé les fichiers du nouveau site d'un sous-répertoire vers la racine principale du site, et maintenant je perds mon état de connexion après presque chaque rafraîchissement de page dans les zones sécurisées.

J'utilise un système de connexion basé sur $_session qui rafraîchit l'identifiant de session à chaque chargement de page, avec une valeur de comparaison stockée dans la base de données MySQL.

Quelqu'un a-t-il des suggestions sur ce qui pourrait causer ce problème ?

1voto

symcbean Points 27412

Krico avait raison de suggérer que le chemin des cookies pouvait être la cause (mais la solution proposée semble un peu stupide), mais vous avez dit que ce n'était pas le cas.

Vérifier pour voir exactement quels cookies (nom, chemin, expiration, drapeaux) sont placés et renvoyés en utilisant iehttpheaders (MSIE) LiveHeaders (Firefox) ou en utilisant un renifleur de réseau comme wireshark. Posez ensuite à nouveau la question en fournissant des détails sur ce que vous avez découvert.

C.

0voto

krico Points 2368

Les cookies sont généralement liés au chemin d'accès. Votre ancien site basé sur un sous-répertoire ne définissait probablement le cookie (qui lie le navigateur à l'utilisateur) que pour ce sous-répertoire.

Une façon de résoudre ce problème est de mettre une page de redirection sur l'ancien sous-répertoire qui ajoute un cookie à '/' et redirige ensuite vers le nouveau site sur Root.

0voto

GOsha Points 584

Si vous changez d'identifiant de session, vous perdrez toutes les données stockées dans la session précédente. Vous devez définir le nom de la session après chaque commande de démarrage de session.

<?php
session_name('AnySessName');
?>

ou utiliser un autre mécanisme pour stocker vos variables entre les sessions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X