Bonjour, petit probleme de sessions...
Voila je bosse sur un site qui possede un script en PHP qui sert a identifier les utilisateurs et qui fait un session_start() au debut. Le fichier de sessions est enregistre sur un serveur dans /tmp qui possede les droits en ecriture et lecture pour tout le monde. Par contre ce serveur est divisé en plusieurs petits serveur representant des groupes d'utilisateur.
Lors de l'execution du script sur une page presente sur le serveur du groupe A, le fichier session appartient a cet utilisateur A (droit lecture ecriture pour l'utilisateur). Cependant, lors de la navigation sur le site, ce script peut etre relance par une page appartenant a un utilisateur B et du coup ce message d'erreur apparait :
Warning: session_start(): open(/tmp/sess_ef22ae8a8d88defec93ee4aa6184fdfb, O_RDWR) failed: Permission denied (13) in /.../soft/check_access_level.php on line 9
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /.../soft/check_access_level.php:9) in /.../soft/check_access_level.php on line 9
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /.../soft/check_access_level.php:9) in /.../soft/check_access_level.php on line 9
Warning: Unknown(): open(/tmp/sess_ef22ae8a8d88defec93ee4aa6184fdfb, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
(ligne 9 = session_start() )
A etant reconnu maintenant comme un utilisateur B, les session_start() ne peut pas modifier le fichier sess_... qui n'a les droits que pour un utilisateur A.
Yaurait-t-il un autre moyen d'empecher cette erreur que de mettre le fichier sess_... en mode lecture ecriture pour tout le monde par un chmod ? ce qui pour la securite laisse un peu a desirer.
Si on fait un session_destroy() quand on change de serveur, devra-t-on ressaisir son login/mot de passe a chaque fois ?
Ca fait que 1 mois que je touche au PHP donc je connais pas beaucoup toutes les subtilités. Et je prefere demander avant de me lancer dans une serie de tests qui me prendrait pas mal de temps.
Merci d'avance.