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

  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de droits d'ecriture des fichiers sessions dans /tmp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de droits d'ecriture des fichiers sessions dans /tmp

n°923074
miklange
Posté le 14-12-2004 à 17:12:07  profilanswer
 

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.

mood
Publicité
Posté le 14-12-2004 à 17:12:07  profilanswer
 

n°923169
AlphaZone
Posté le 14-12-2004 à 18:23:49  profilanswer
 

met au tout début de ton code: ob_start();
 
et tout a la fin: ob_end_flush();
 
Ca devrait résoudre une partie de tes erreurs.

n°923531
miklange
Posté le 15-12-2004 à 09:28:01  profilanswer
 

Oui en effet merci ca resout le probleme des headers, je sais pas comment, mais ca le fait lol!!
 
Enfin c'est surtout l'autre probleme le plus embettant dans ce que j'ai a faire :'(

n°923775
bob007
Posté le 15-12-2004 à 13:42:36  profilanswer
 

ob_start(); ne résout rien du tout là!
 
le open(); du session_start(); retourne une erreur, qu'il affiche. L'output commence à ce moment là, du coup apres, le output a déjà commencé et il ne peut plus envoyer les headers.
Donc si tu gère bien ton pb de session_start(); bah apres tu n'auras plus d'erreur d'output.

n°923939
miklange
Posté le 15-12-2004 à 15:24:55  profilanswer
 

Ouais le reste c'est que secondaire !! c'est le session_start() qui m'embette
 
Bon j'ai trouve un moyen c'est de faire un chmod 0660 du fichier de session dans le /tmp et la le fichier de session est accessible en lecture/ecriture par les groupes et les données peuvent etre mise a jour.  
Enfin je pense aussi que par ce systeme la securité c'est un peu moyen. Mais je vois pas comment faire autrement.
 
J'etais parti aussi sur l'idee de faire des tests sur les proprietaires, genre quand on passe de A à B, on fait un session_destroy() de A suivi d'un session_start() sous le statut de B, mais aps moyen d'arriver a recuperer le statut avant de faire un session_start() ce qui provoquera l'erreur avant.
 
quel Binz ce truc lol!!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Probleme de droits d'ecriture des fichiers sessions dans /tmp

 

Sujets relatifs
probleme de castPerl : est il possible de lire un fichier sans le bloquer en écriture?
Probleme avec les sessionsProblème de renvoi d'une requète ms query dans Excel
Appli intranet: gerer les droits et users[borland -> Win Xp] Petit probleme avec fprintf.........
Probleme avec un chatcomment utiliser les fichiers et leur données?
problème avec le script leechi 
Plus de sujets relatifs à : Probleme de droits d'ecriture des fichiers sessions dans /tmp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR