PHP : Configuration et sécurisation
Table des matières
Le principal fichier de configuration de php est php.ini.
Pour la configuration avec le serveur apache, il se trouve soit dans /etc/php.ini , /etc/php/X.Y/apache2/php.ini ou /etc/php/apache2-phpX.Y/php.ini (où X.Y est la version de PHP utilisée)
Pour la configuration si on appelle en ligne de commande php, il se trouve soit dans /etc/php.ini(le même que précédemment) , /etc/php/X.Y/cli/php.ini ou /etc/php/cli-phpX.Y/php.ini (où X.Y est la version de PHP utilisée)
Il y a le même genre pour CGI et FPM.
Par défaut, la configuration de PHP "fonctionne bien".
Néanmoins, il est possible de changer quelques informations dedans. Cela peut être utile dans certains cas.
Après chaque modification, si PHP est utilisé avec apache, il est évidemment nécessaire de recharger la configuration d'apache (ou httpd) pour prendre en compte les modifications (une des 3 commandes suivant la distribution) :
Si le site web installé est destiné à uploader des fichiers, il est possible que PHP vous refuse des fichiers au delà d'une limite.
Modifier dans ce cas les lignes
Il est important de définir le fuseau horaire du serveur, sinon, les fonctions traitant des dates peut devenir fausse :
Pour renforcer la sécurité, on peut masquer le fait que PHP est installé sur le serveur (incluant la version de PHP dans les en-têtes HTTP de la réponse (X-Powered-By : PHP/5.3.7).
Pour cela, on passe à Off la variable expose_php
Introduction
Le principal fichier de configuration de php est php.ini.
Pour la configuration avec le serveur apache, il se trouve soit dans /etc/php.ini , /etc/php/X.Y/apache2/php.ini ou /etc/php/apache2-phpX.Y/php.ini (où X.Y est la version de PHP utilisée)
Pour la configuration si on appelle en ligne de commande php, il se trouve soit dans /etc/php.ini(le même que précédemment) , /etc/php/X.Y/cli/php.ini ou /etc/php/cli-phpX.Y/php.ini (où X.Y est la version de PHP utilisée)
Il y a le même genre pour CGI et FPM.
Par défaut, la configuration de PHP "fonctionne bien".
Néanmoins, il est possible de changer quelques informations dedans. Cela peut être utile dans certains cas.
Après chaque modification, si PHP est utilisé avec apache, il est évidemment nécessaire de recharger la configuration d'apache (ou httpd) pour prendre en compte les modifications (une des 3 commandes suivant la distribution) :
Code BASH :
/etc/init.d/apache2 reload
Code BASH :
systemctl reload httpd.service
Code BASH :
systemctl reload apache2.service
Gestion de plus gros fichiers
Si le site web installé est destiné à uploader des fichiers, il est possible que PHP vous refuse des fichiers au delà d'une limite.
Modifier dans ce cas les lignes
Code BASH :
# Total maximum envoyé par un POST post_max_size = 8M # Taille maximum autorisée pour l'envoi de fichiers upload_max_file_size = 16M
Modifier le fuseau horaire
Il est important de définir le fuseau horaire du serveur, sinon, les fonctions traitant des dates peut devenir fausse :
Code BASH :
date.timezone = "Europe/Paris"
Ne pas afficher la version de PHP pour plus de sécurité
Pour renforcer la sécurité, on peut masquer le fait que PHP est installé sur le serveur (incluant la version de PHP dans les en-têtes HTTP de la réponse (X-Powered-By : PHP/5.3.7).
Pour cela, on passe à Off la variable expose_php
Code BASH :
expose_php = Off