6.3 Binaires CGI
6 Sécurité
Manuel PHP
. Faiblesses connues . Cas 1 : Tous les fichiers sont publics . Cas 2 : Utilisation de la directive de compilation --enable-force-cgi-redirect . Cas 3 : Utilisation du "doc_root" ou du "user_dir" ->Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur
|
6.3.5 Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur
Une solution extrêmement sécurisée consiste à
mettre l'exécutable PHP à l'extérieur de l'arborescence
du serveur web. Dans le répertoire
/usr/local/bin
, par exemple.
Le problème de cette méthode est que vous aurez à
rajouter la ligne suivante :
| Ligne d'invocation de PHP |
#!/usr/local/bin/php
|
dans tous les fichiers contenant des tags PHP. Vous devrez aussi rendre le
binaire PHP exécutable. Dans ce cas-là, traitez le fichier
exactement comme si vous aviez un autre script écrit en Perl ou en
sh ou en un autre langage de script qui utilise
#!
comme
mécanisme pour lancer l'interpréteur lui-même.
Pour que l'exécutable PHP prenne en compte les variables
d'environnement
PATH_INFO
et
PATH_TRANSLATED
correctement avec cette configuration,
vous devez utiliser l'option de compilation
--enable-discard-path .
|