Ecriture dans un fichier avec php - Problème de sécurité?

Bonjour à tous :hello:

J’ai une question à propos de l’écriture dans un fichier test.txt à travers un script php,
pour ce faire correctement jusqu’ici j’ai été obligé de mettre les droits minimaux 666, sinon j’avais des erreurs car j’avais pas le droit de lire déjà , pi ensuite d’écrire.

Et la intervient ma question:
Ai-je un problème de sécurité avec ces droits? Car d’après moi avec ces droits n’importe qui qui connaitrait l’adresse de mon fichier test.txt pourrait le modifier, ou est ce que je me trompe?

Est ce quelqu’un pourrait m’eclaircir sur ce sujet?

Je vous remercie d’avance

Davix :bounce:

Oui et Non.

Le droit 666 c’est un droit démoniaque (vu le nombre… ;)) qui dit juste que :

  1. l’utilisateur a droit de éditer/lire le fichier
  2. le groupe de l’utilisateur aussi
  3. les autres aussi

Qui c’est les autres? C’est justement ça qu’il faut chercher :

Si tu parles de page web déservie par http, personne ne pourra modifier ta page vu que le protocole ne sert pas à ça.

Par contre, n’importe quelle personne connaissant l’adresse du fichier pourra aller sur le ftp l’éditer de manière parfaitement anonyme.

Solution? PHP est-il dans ton groupe ? Si oui, alors il faut mettre le droit 664 (rw, rw, r), c’est déjà mieux.

Tu peux aussi mettre les bits spéciaux setgid, et l’autre (dont j’ai plus le nom en tête) qui devraient donner le droit au proprio du dossier parent de modifier les fichiers sous jacents (666 ou pas).

Et sinon, tu as les fonctions FTP de PHP qui t’acceuillent à bras ouvert : avec des sessions, tu dois pouvoir stocker le mot de passe de manière aisée (mais pas dans un fichier php, c’est ça l’idée), et donc envoyer tes fichiers par ftp (même en local).

Salut :slight_smile:
merci pour ta réponse rapide,

Pour l’histoire de php dans mon groupe, je ne crois pas que ce soit le cas car avec les droit 664 je peux lire le fichier ca oui pas de prob, mais je peux toujours pas écire :frowning:

Est ce que tu arrives à m’expliquer l’histoire du ftp?
Parce que je ne vois pas comment avec la commande ftp je vais pouvoir ouvrir et modifier un fichier texte, à moins qu’il faut créer le fichier, effacer l’autre et mettre le nouveau?
C’est à peut prêt ca dont tu parles? :smiley:

merci en tout cas

Davix :bounce:

tu utilises fopen?

alors utilise ftp_open & http://fr.php.net/manual/fr/function.ftp-put.php

Ca implique d’avoir un dossier mis en écriture/lecture pour php, mais comme ça pas de fuite de droits ailleurs.

[edit] tu as même mieux : http://fr.php.net/manual/fr/function.tmpfile.php

et http://fr.php.net/manual/fr/function.tempnam.php

Ok ca marche merci bcp
je vais jetter un coup d’oeil dans tout ça :slight_smile:

Davix