La raison pour laquelle vous devriez envisager de placer ce fichier en dehors de la racine Web est que certains hébergeurs ont temporairement cessé d'interpréter PHP de temps en temps (en raison de défauts de configuration, souvent après une mise à jour de leur part). Le code sera alors envoyé en texte clair et le mot de passe sera divulgué dans la nature.
Considérez cette structure de répertoires, où public_html
est la racine Web :
/include1.php
/public_html/index.php
/public_html/includes/include0.php
Considérez maintenant ce index.php :
<?php
include('includes/include0.php');
do_db_work_and_serve_page_to_visitor();
?>
Si le serveur Web commence à servir ce fichier à l'air libre, il ne faudra pas longtemps avant que quelqu'un essaie de télécharger include0.php . Personne ne pourra télécharger include1.php , cependant, car il se trouve en dehors de la racine Web et n'est donc jamais géré par le serveur Web.