par anonyme 21-Juin-2022

Comment faire pour interdire l'exécution de scripts PHP dans les répertoires de WordPress, et plus particulièrement dans le répertoire wp-content/uploads ?

1 Réponse

par Antoine 21-Juin-2022

Les répertoires wp-content/uploads et wp-includes de WordPress peuvent contenir des fichiers PHP utilisables pour prendre la main sur votre site Web et l'exploiter.

Pour interdire l'exécution de scripts PHP dans les répertoires de WordPress, vous pouvez modifier le fichier httpd.conf sur Apache et y ajouter la règle suivante ; pensez à adapter le chemin d'accès vers les répertoire à sécuriser :

<Directory "/var/www/vhosts/exemple.com/wp-content/uploads">
  <FilesMatch \.php$>
    Require all denied
  </FilesMatch>
</Directory>

Voici la règle pour le répertoire wp-includes :

<IfModule mod_rewrite.c>
  <Directory "/var/www/vhosts/exemple.com/wp-includes">
    <FilesMatch \.php$>
      RewriteEngine on
      RewriteCond %{REQUEST_FILENAME} !^/var/www/vhosts/exemple\.com/wp\-includes/js/tinymce/wp\-tinymce\.php$ [NC]
      RewriteRule .* - [NC,F,L]
    </FilesMatch>
  </Directory>
</IfModule>

Si vous utilisez Nginx comme proxy inversé, il faut également ajouter une règle au fichier nginx.conf :

location ~* "^(?:/)wp-content/uploads/.*\.php" { deny all; }

Voici la règle à ajouter pour le répertoire wp-includes :

location ~* "^(?:/)wp-includes/(?!js/tinymce/wp\-tinymce\.php$).*\.php" { deny all; }
Bienvenue sur 1FORMATIK, où vous pouvez poser des questions en lien avec l'informatique et internet, et recevoir des réponses de l'équipe et d'autres internautes.

2.6k questions

3k réponses

...