1. Erreurs PHP : message générique + journalisation

Provoquer la même erreur que sur la version vulnérable, mais avec display_errors = Off et l'erreur interceptée par un try/catch.

Ce que voit l'administrateur dans les journaux (error_log), jamais l'utilisateur

[2026-06-15 01:42:33] Erreur interne : Call to undefined function fonction_qui_n_existe_pas_du_tout() dans /var/www/html/OWASP/A06-Security-Misconfiguration/info_securise.php:26

2. Page de diagnostic phpinfo()

Le fichier phpinfo_vulnerable.php n'a pas d'équivalent ici : ce type de page ne doit jamais être présent dans un environnement accessible publiquement. Si un diagnostic est nécessaire, il doit être protégé par authentification et restreint par adresse IP, puis supprimé après usage.

3. Checklist de durcissement

ParamètreRecommandation
display_errors (php.ini)Off en production ; log_errors = On + error_log vers un fichier surveillé.
expose_php (php.ini)Off - retire l'en-tête X-Powered-By.
ServerTokens / ServerSignature (Apache) ServerTokens Prod et ServerSignature Off - l'en-tête Server ne montre plus la version exacte.
Options Indexes (Apache)Options -Indexes - désactive le listing de répertoires.
Fichiers de diagnostic / exemplesSupprimer phpinfo.php, pages d'exemple, comptes par défaut avant la mise en production.
En-têtes de sécuritéAjouter X-Content-Type-Options: nosniff, X-Frame-Options: DENY, Content-Security-Policy (voir le TP A07).