cerveau humain

Ma configuration de php

Extraits choisis de mon fichier de configuration php.ini

Date de publication : 2009-04-01 09:20:13

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

 
 

b1n@sp1n