
Comme il existe de nombreuses possibilités permettant à un utilisateur mal intentionné d'écrire dans le répertoire temporaire de PHP, il n'est pas inutile d'empêcher d'une façon ou d'une autre d'exécuter les fichiers uploadés.
Tout d'abord, il faut créer un répertoire /tmp/php-quarantine, l'associer au compte du serveur web (apache), et interdire aux autres utilisateurs de lire ou d'écrire dans ce répertoire. De plus, on va aussi retirer le flag d'exécution pour le répertoire, interdisant du fait d'exécuter tout fichier dans ce répertoire: chmod -X /tmp/php-quarantine
Il suffit ensuite de dire à PHP de sauver les fichiers dans ce répertoire un tout petit peu mieux protégé:
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = /tmp/php-quarantine
Commentaires

Protéger les fichiers envoyés via PHP

Poster un commentaire