Introduction au fichier php.ini
Le fichier PHP.INI est un élément clé de la configuration du serveur PHP. Vous êtes sans doute déjà conscient que votre site ou blog WordPress fonctionne sur un tel serveur. C’est pourquoi beaucoup optent pour un hébergement web sous Linux plutôt qu’avec Windows. Mais à quoi sert ce fichier?
Il détermine divers paramètres listés par le fichier phpinfo.php. Toutefois, ce qui nous intéresse vraiment, ce sont les options à la portée des simples utilisateurs comme nous. Par exemple, nous pouvons définir un dossier d’erreurs accessible uniquement aux administrateurs, ce qui est préférable pour protéger les visiteurs. De plus, il est possible d’augmenter la capacité mémoire des scripts PHP, ce qui se traduit par des limites de taille pour les uploads (images, mp3, sauvegardes, ou encore l’importation de vos articles via un fichier d’export XML). En outre, nous avons aussi la possibilité de régler des paramètres de sécurité essentiels et d’optimiser notre blog.
Sécurité et optimisation
Cet article s’inscrit dans une série consacrée à la sécurité et à l’optimisation d’un blog WordPress, faisant suite à Sécuriser son blog WordPress et lutter contre le spam – Manuel de Combat.
Avertissement
Il est important de noter que si votre hébergeur utilise Apache ou un interpréteur CGI (comme c’est le cas chez 1and1), vous pourrez appliquer les codes indiqués pour votre .htaccess. Dans le cas contraire, concentrez-vous seulement sur ceux spécifiés pour le php.ini.
Utiliser le phpinfo
Le fichier phpinfo fournit des informations essentielles concernant votre blog. Pour l’afficher, téléversez un fichier nommé phpinfo.php à la racine de votre blog (c’est-à-dire dans le dossier contenant votre installation WordPress) et insérez simplement les lignes suivantes :
<?php phpinfo(); ?>
Masquer PHP
Cette technique n’est pas infaillible, mais il est toujours bon de prévenir. Nous pouvons modifier l’apparence de PHP pour qu’il ressemble à un autre langage. Cela ne protègera pas contre un hacker déterminé, mais cela pourrait dissuader certains scripts automatiques.
Dans votre .htaccess, ajoutez une des lignes suivantes :
# Afin que PHP ressemble à un autre langage
AddType application/x-httpd-php .asp .py .pl
ou
# Afin que PHP ressemble à un langage inexistant
AddType application/x-httpd-php .bop .foo .133t
ou
# Afin que PHP ressemble à du html
AddType application/x-httpd-php .htm .html
Ensuite, renommez vos fichiers avec les nouvelles extensions choisies.
Alternativement, pour une solution plus simple, ajoutez dans votre php.ini :
expose_php = Off
Cela masquera aux navigateurs l’en-tête contenant l’information X-Powered-By, ne laissant visible ni version ni autre donnée.
Créer le fichier php.ini
Pour créer ce fichier, utilisez un éditeur de texte (Notepad pour Windows et Linux, Smultron pour Mac).
Ensuite, pour le protéger, intégrez dans votre .htaccess :
<Files .php.ini>
order allow,deny
deny from all
</Files>
Augmenter la limite de mémoire
Effectivement, vous pouvez faire cela, mais attention à ne pas aller trop loin ! Si vous tentez de pousser cette limite à un gigaoctet (ce qui est souvent inutile), sachez que par défaut, WordPress ramène la limite de mémoire à 32M (ou 64M pour les multisites). Votre hébergeur impose également ses propres restrictions. Heureusement, WordPress a prévu la prise en compte d’une limitation manuelle (à la ligne 37 du fichier /wp-includes/default-constants.php) :
// set memory limits.
if ( function_exists('memory_get_usage') &&
( (int) @ini_get('memory_limit') < abs(intval(WP_MEMORY_LIMIT)) ) )
@ini_set('memory_limit', WP_MEMORY_LIMIT);
