Cas 3 : Utilisation du "doc_root" ou du "user_dir"
<<<
Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur Sécurité
>>>

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 .

<< Cas 4 : L'exécutable PHP à l'extérieur de l'arborescence du serveur >>
Cas 3 : Utilisation du "doc_root" ou du "user_dir" Binaires CGI Sécurité