Posted on 11 janvier 2016 in Internet | 1 comment

PHP.INI est un fichier de configuration du serveur PHP. Vous savez déjà que votre blog ou site WordPress fonctionne avec ce type de serveur. C’est pourquoi on choisit presque toujours un plan d’hébergement Web en Linux et non pas en Windows. Que fait-il ? Il détermine tout ce que vous indique le fichier phpinfo.php. Soit. Ce qui nous intéresse, c’est ce que peuvent en faire de simples blogueurs. Par exemple, nous allons définir un dossier d’erreurs, visible par les administrateurs plutôt que les internautes. Il peut aussi changer la capacité des scripts php de mémoire, donc la taille des uploads (images, mp3, sauvegardes ou importations de vos articles sous la forme du fichier d’exportation xml). On peut surtout encore définir des paramètres de sécurité et optimiser son blog.

Cet article fait partie de la série Sécurité et optimisation d’un blog WordPress. Il fait suite à Sécuriser son blog WordPress et lutter contre le spam – Manuel de Combat.

Avertissement : Si votre hébergeur fonctionne en Apache réel et non interprété en cgi (comme chez 1and1), vous pouvez utiliser les codes proposés pour votre .htaccess. Sinon, vous ne devez utiliser que ceux proposés pour le php.ini.

Le phpinfo

php

Configurer votre serveur PHP. Pour rappel, WordPress exige au minium une version PHP 5.3.1

Il vous donne toutes les informations inhérents à votre blog. Pour le voir, chargez en ligne un fichier phpinfo.php à la racine de votre blog (= dans le dossier où se trouve votre blog WP) avec ces seules lignes de code :

1
<?php phpinfo(); ?>
<?php phpinfo(); ?>

Ensuite

Masquer PHP

Ce n’est pas efficace extraordinairement mais il n’y a pas de petite précaution négligeable. On va truquer les apparence et faire en sorte que PHP ressemble à un autre langage. Évidemment, contre un hacker humain, ça ne sert à rien. Mais contre un script automatique…
Dans .htaccess ajoutez l’une de ces lignes :

1
2
# Afin que PHP ressemble à un autre langage
AddType application/x-httpd-php .asp .py .pl
# Afin que PHP ressemble à un autre langage
AddType application/x-httpd-php .asp .py .pl

ou

1
2
# Afin que PHP ressemble à un langage inexistant
AddType application/x-httpd-php .bop .foo .133t
# Afin que PHP ressemble à un langage inexistant
AddType application/x-httpd-php .bop .foo .133t

ou

1
2
# Afin que PHP ressemble à du html
AddType application/x-httpd-php .htm .html
# Afin que PHP ressemble à du html
AddType application/x-httpd-php .htm .html

Puis renommez tous vos fichiers avec les extensions choisies.

Ou bien, encore plus simplement, dans votre php.ini ajoutez :

1
expose_php = Off
expose_php = Off

Cela cachera aux navigateurs la réponse header avec l’information X-Powered-By PHP/5.x.x. Autrement dit, ni version ni quoi.

http://wordpress.org/tags/phpini

Créer le fichier php.ini

Comme pour tout fichier : avec un éditeur de texte (avec Notepad pour Windows et Linux, Smultron pour Mac).

Ensuite protégez-le en ajoutant dans .htaccess :

1
2
3
4
<Files .php.ini>
order allow,deny
 deny from all
 </Files>
<Files .php.ini>
order allow,deny
 deny from all
 </Files>

Augmenter la limite de mémoire

Oui mais sans exagérer hein ! Si vous tentez de passer en giga (mais pourquoi donc ?), par défaut WordPresss ramènera votre blog à 32M (ou 64M en multisites). D’autre part, votre hébergeur limite aussi cette capacité. La bonne nouvelle est que WP a prévu de tenir compte d’une limitation manuelle (fichier /wp-includes/default-constants.php ligne 37) :

1
2
3
    // 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);
	// 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);

f