IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Risques à laisser le session.save_path en lecture à tout le monde


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut Risques à laisser le session.save_path en lecture à tout le monde
    Bonsoir,
    tout est quasiment dit dans le titre ...
    Voulant installer un cms, cms made simple pour ne pas le nommer, j'ai un petit avertissement m'indiquant
    Checking if session.save_path is writable

    Your session.save_path is "". Not having this as writable may make logins to the Admin Panel not work. You may want to look into making this path writable if you have trouble logging into the Admin Panel. This test may fail if safe_mode is enabled (see below).
    En effet, mon session.save_path n'est pas renseigné.
    Et comme ici http://php.net/ref.session#ini.session.save-path je lis
    ...
    Attention

    Si vous laissez cette option configurée avec un dossier accessible en lecture à tout le monde, comme /tmp (par défaut), les autres utilisateurs pourront exploiter ces sessions en obtenant la liste de fichiers dans ce dossier
    ...
    , je me pose des questions avant de modifier la variable dans le php.ini
    Quels sont les risques à laisser le session.save_path en lecture à tout le monde et quels sont les moyens de ne me laisser qu'à moi cette possibilité ?

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 398
    Points : 15 760
    Points
    15 760
    Par défaut
    Le message d'erreur du CMS indique juste que le répertoire des sessions n'est pas défini.
    Tu as juste besoin d'un répertoire accessible en écriture à Apache et pas à tout le monde

  3. #3
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    La question va paraître très très bête, mais tant pis, en ces temps de Pâques, je compte sur ta charité chrétienne ...
    J'ai, pour tester le CMS, changé mon paramètre et décommenté la ligne qui était en l'occurrence "/tmp" et tout fonctionne.
    Mais je suis allé jeter un coup d'oeil dans le répertoire /tmp qui contient moult fichiers de session qui n'ont rien à voir avec le CMS. Donc, comme indiqué dans la doc, si rien n'est spécifié, il vient quand même stocker les sessions à cet endroit.
    Ce que je ne sais pas faire, c'est ne donner les droits à un répertoire qu'à Apache que je ne sais pas identifier !!! Ensuite, alors, je créerai un répertoire spécifique car j'imagine que tout le monde à besoin d'utiliser /tmp
    Questions subsidiaires, comment se fait-il qu'il y a plein de sessions avec une taille 0 dans le /tmp ou d'autres avec des tailles "normales" mais qui datent de plus d'un mois. N'y a-t'il qu'un script sh à mettre dans le cron pour virer les fichiers vieux de plus de n jours?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 398
    Points : 15 760
    Points
    15 760
    Par défaut
    Citation Envoyé par Christophe Charron Voir le message
    La question va paraître très très bête, mais tant pis, en ces temps de Pâques, je compte sur ta charité chrétienne ...
    si je n'arrive pas à t'aider, je demanderai aux cloches de t'aider

    Citation Envoyé par Christophe Charron Voir le message
    J'ai, pour tester le CMS, changé mon paramètre et décommenté la ligne qui était en l'occurrence "/tmp" et tout fonctionne.
    Mais je suis allé jeter un coup d'oeil dans le répertoire /tmp qui contient moult fichiers de session qui n'ont rien à voir avec le CMS. Donc, comme indiqué dans la doc, si rien n'est spécifié, il vient quand même stocker les sessions à cet endroit.
    Ce que je ne sais pas faire, c'est ne donner les droits à un répertoire qu'à Apache que je ne sais pas identifier !!! Ensuite, alors, je créerai un répertoire spécifique car j'imagine que tout le monde à besoin d'utiliser /tmp
    ça dépend comment est installé PHP. Par exemple chez moi PHP est installé en tant que Module Apache sous Debian et donc là par exemple Apache utilise l'utilisateur "www-data"

    Citation Envoyé par Christophe Charron Voir le message
    Questions subsidiaires, comment se fait-il qu'il y a plein de sessions avec une taille 0 dans le /tmp ou d'autres avec des tailles "normales" mais qui datent de plus d'un mois. N'y a-t'il qu'un script sh à mettre dans le cron pour virer les fichiers vieux de plus de n jours?
    le nettoyage est géré par PHP, regarde la documentation des directives de configuration qui commencent par "session.gc_" (GC comme Garbage Collector)

  5. #5
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Ajouter dans le dossier un fichier .htaccess ou index.php contenant par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php die('Accès refusé!'); ?>
    devrait résoudre le problème selon moi.

  6. #6
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Citation Envoyé par Sub0 Voir le message
    Ajouter dans le dossier un fichier .htaccess ou index.php contenant par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php die('Accès refusé!'); ?>
    devrait résoudre le problème selon moi.
    Oui, bien sûr, c'est une évidence, pour moi. Mais est-ce de ce risque dont on parle ? Moi je comprenais, que malgré les règles de base apache, on pouvait venir se balader dans les répertoires ... je paranoaïse un peu trop ?

  7. #7
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 398
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 398
    Points : 15 760
    Points
    15 760
    Par défaut
    Citation Envoyé par Christophe Charron Voir le message
    Moi je comprenais, que malgré les règles de base apache, on pouvait venir se balader dans les répertoires ...
    oui c'est ça mais il s'agit des utilisateurs du serveur et pas des visiteurs qui passent par Apache

  8. #8
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Citation Envoyé par mathieu Voir le message
    oui c'est ça mais il s'agit des utilisateurs du serveur et pas des visiteurs qui passent par Apache
    Ha oui ... Mais là si je me fais hacker mon serveur ou que je donne des droits indûs aux utilisateurs, en effet je risque gros. Mais le vulgum pecus n'est qu'un visiteur passant par Apache donc je ne dois rien craindre de ce côté si je vous ai bien compris.
    Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/09/2009, 11h52
  2. Dois-je modifier session.save_path ?
    Par yosraisi dans le forum Zend Framework
    Réponses: 2
    Dernier message: 05/03/2008, 16h43
  3. [Win2000 SRV] Ouverture de session et puis fermeture tout de suite
    Par annedeblois dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 20/10/2007, 10h36
  4. HDD Une tete de lecture toute folle
    Par zitoon83 dans le forum Composants
    Réponses: 4
    Dernier message: 11/08/2006, 10h09
  5. Réponses: 4
    Dernier message: 18/04/2006, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo