Voici un post qui n'a pas grand intérêt si vous cherchez un php.ini à copier coller. Par contre je me permet de vous donnez quelques options de configuration qui permettent de sécuriser php.
Cacher la version de php
Par défaut php envoie la version de php dans les entêtes http avec le header X-Powered-By. Pour cacher cette information au yeux des personnes malveillantes il faut désactiver l'option expose_php dans le fichier php.ini :
expose_php = Off
Activer toutes les erreurs
error_reporting = E_ALL | E_STRICT
En activant toutes les erreurs de php et le standard strict, je décide de dire non à la programmation merdique que l'on peut trouver dans trop de scripts php à télécharger.
D'ailleurs activer toutes les erreurs, notices et le standard strict peut être un facteur de qualité qui permet de savoir si un script est propre ou codé avec les pieds.
Ne pas afficher les erreurs
display_errors = Off
Afficher les erreurs aux visiteurs (sur un serveur de production) est le meilleur moyen de s'attirer des ennuis car un visiteur malveillant et qualifié peut rapidement trouver une faille en lisant un message d'erreur.
Logger les erreurs
Si on affiche pas les erreurs aux clients, il faut bien entendu les stockées dans un endroit sûr pour pouvoir corriger ses bugs. Le meilleur moyen est de les écrire dans un fichier de log. Personnellement je choisi le fichier d'erreur de mon serveur http.
log_errors = On
error_log = /var/log/lightppd/error.log
Désactiver les magic_quotes
magic_quotes_gpc = Off
En choisissant de désactiver les magic quotes je me prépare à php6 et je n'utilise pas cette fonctionnalité inutile si l'on utilise correctement les fonctions mysql_real_escape_string, mysql_escape_string ou encore sqlite_escape_string pour sqlite, et beaucoup d'autres qui sont là pour vous protéger des injections SQL.
Définir le fuseau horaire
date.timezone = Europe/Paris
Je défini le fuseau horaire pour éviter les erreurs dues au standard strict et date().
Voilà pour moi, si vous avez d'autres tips de sécurité cachés dans votre php.ini, n'hésitez pas à me contacter ;)
Image : hurleygurley