15 extraits utiles .htaccess pour votre site WordPress
Avoir un fichier .htaccess bien configuré est crucial si vous voulez augmenter la sécurité et réduire les vulnérabilités sur votre site WordPress. Habituellement, l'objectif principal de la création d'un fichier .htaccess personnalisé est d'empêcher le piratage de votre site, mais c'est aussi un excellent moyen de gérer les redirections et de gérer les tâches liées au cache.
.htaccess est un fichier de configuration utilisé sur les serveurs Web Apache. La plupart des sites WordPress fonctionnent sur un serveur Apache, bien qu'une petite partie soit alimentée par Nginx . Dans cet article, vous pouvez trouver une collection d'extraits de code .htaccess, dont la plupart peuvent être utilisés pour sécuriser votre site Web pendant que le reste implémente d'autres fonctionnalités utiles.
N'oubliez pas de sauvegarder le fichier .htaccess avant de le modifier afin de pouvoir toujours revenir à la version précédente si quelque chose ne va pas.
Et, si vous ne voulez pas toucher aux fichiers de configuration, je vous recommande le plugin BulletProof Security, le plugin de sécurité .htaccess gratuit le plus fiable (et probablement le plus ancien) sur le marché.
Créer le WP .htaccess par défaut
.htaccess fonctionne par répertoire, ce qui signifie que chaque répertoire peut avoir son propre fichier .htaccess. Il peut facilement arriver que votre site WordPress n'a pas encore de fichier .htaccess . Si vous ne trouvez pas de fichier .htaccess dans votre répertoire racine, créez un fichier texte vide et nommez-le en .htaccess
.
Ci-dessous, vous pouvez trouver le fichier .htaccess utilisé par défaut par WordPress. Chaque fois que vous avez besoin de ce code, vous pouvez rapidement le rechercher dans le Codex WordPress. Notez qu'il existe un .htaccess différent pour WP Multisite.
# BEGIN WordPressRewriteEngine Sur RewriteBase / RewriteRule ^ index \ .php $ - [L] RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule. /index.php [L] # FIN WordPress
Les lignes commençant par #
sont des commentaires. N'éditez rien entre les lignes # BEGIN WordPress
et # END WordPress
. Ajoutez vos règles .htaccess personnalisées en dessous de ces règles par défaut .
Tous les extraits de code que vous pouvez trouver dans cet article vont au fichier .htaccess principal trouvé dans votre répertoire racine.
1. Refuser l'accès à tous les fichiers .htaccess
Le code ci-dessous refuse l'accès à tous les fichiers .htaccess que vous avez installés dans votre WordPress. De cette façon, vous pouvez empêcher les utilisateurs de voir les configurations de votre serveur Web .
# Refuse l'accès à tous les fichiers .htaccessOrdre Autoriser, Refuser Deny de tous Satisfaire tous
2. Protégez votre configuration WP
Le fichier wp-config.php
contient toutes les configurations de votre WP, y compris le login et le mot de passe de votre base de données. Vous pouvez le refuser à tout le monde ou autoriser les administrateurs à y accéder .
Si vous choisissez ce dernier, mettez en commentaire la ligne # Allow from xx.xx.xx.xxx
(supprimez #
au début de la ligne) et insérez l'adresse IP de l'administrateur à la place de xx.xx.xx.xxx
.
# Protège wp-configOrdre Autoriser, Refuser # Autoriser depuis xx.xx.xx.xxx # Autoriser depuis yy.yy.yy.yyy Refuser de tous
3. Prévenir l'attaque DDoS XML-RPC
WordPress prend en charge XML-RPC par défaut, qui est une interface permettant la publication à distance . Cependant, bien que ce soit une fonctionnalité intéressante, c'est aussi l'une des plus grandes vulnérabilités de WP en matière de sécurité, car les pirates peuvent l' exploiter pour des attaques DDoS .
Si vous ne voulez pas utiliser cette fonctionnalité, il vaut mieux la désactiver . Tout comme auparavant, vous pouvez ajouter des exceptions en commentant la ligne # Allow from xx.xx.xx.xxx
et en ajoutant les adresses IP de vos administrateurs.
# Protège XML-RPC, empêche les attaques DDoSCommande Refuser, Autoriser # Autoriser depuis xx.xx.xx.xxx # Autoriser depuis yy.yy.yy.yyy Refuser de tout
4. Protégez votre zone d'administration
C'est également une bonne idée de protéger la zone d'administration en donnant accès uniquement aux administrateurs. Ici, n'oubliez pas d' ajouter au moins une exception "Autoriser", sinon vous ne pourrez plus accéder à votre administrateur.
# Protège la zone admin par IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "Contrôle d'accès Admin WordPress" AuthType BasicOrdre Refuser, Autoriser Refuser de tout Autoriser depuis xx.xx.xx.xxx Autoriser depuis yy.yy.yy.yyy
5. Empêcher la liste de répertoires
La plupart des sites WordPress ne désactivent pas la liste des répertoires, ce qui signifie que tout le monde peut parcourir leurs dossiers et fichiers, y compris les téléchargements de médias et les fichiers de plug-ins. Inutile de dire que c'est une énorme faille de sécurité.
Ci-dessous, vous pouvez voir à quoi ressemble une liste de répertoires WordPress typique .
Heureusement, vous avez juste besoin d' une ligne de code pour bloquer cette fonctionnalité. Cet extrait de code renvoie un message d'erreur 403 à quiconque souhaite accéder à vos répertoires.# Empêche la liste de répertoires Options -Indexes
6. Empêcher l'énumération de nom d'utilisateur
Si les permaliens WP sont activés, il est assez facile d' énumérer les noms d'utilisateur en utilisant les archives de l'auteur. Les noms d'utilisateur révélés (y compris le nom d'utilisateur de l'administrateur) peuvent alors être utilisés dans les attaques par force brute .
Insérez le code ci-dessous dans votre fichier .htaccess pour empêcher l'énumération des noms d'utilisateur .
# Empêche l'énumération des utilisateurs RewriteCond% {QUERY_STRING} author = d RewriteRule ^ /? [L, R = 301]
7. Bloquer les spammeurs et les robots
Parfois, vous voudrez peut-être restreindre l'accès à certaines adresses IP . Cet extrait de code fournit un moyen facile de bloquer les spammeurs et les robots que vous connaissez déjà.
# Bloque les spammeurs et les robotsOrdre Autoriser, Refuser Deny de xx.xx.xx.xxx Refuser de yy.yy.yy.yyy Permettre à tous
8. Empêcher le lien hypertexte d'image
Bien qu'il ne s'agisse pas d'une menace pour la sécurité, la création de liens hypertexte avec des images est toujours une chose agaçante. Les gens n'utilisent pas seulement vos images sans votre permission, mais ils le font même à vos frais. Avec ces quelques lignes de code, vous pouvez protéger votre site contre les liens hypertextes.
# Empêche la création d'image hotlink RewriteEngine sur RewriteCond% {HTTP_REFERER}! ^ $ RewriteCond% {HTTP_REFERER}! ^ Http (s)?: // (www \.)? Yourwebsite.com [NC] RewriteCond% {HTTP_REFERER}! ^ Http ( s)?: // (www \.)? votrewebsite2.com [NC] RewriteRule \. (jpe? g? | png | gif | ico | pdf | flv | swf | gz) $ - [NC, F, L]
9. Restreindre l'accès direct aux fichiers PHP plugin et thème
Il peut être dangereux si quelqu'un appelle directement vos fichiers plugin et thème, que ce soit accidentellement ou par un attaquant malveillant. Cet extrait de code provient de la société de sécurité de site Web Acunetix ; vous pouvez en savoir plus sur cette vulnérabilité dans leur article de blog.
# Restreint l'accès aux fichiers PHP des répertoires plugin et thème RewriteCond% {REQUEST_URI}! ^ / Wp-content / plugins / fichier / à / exclude \ .php RewriteCond% {REQUEST_URI}! ^ / Wp-content / plugins / directory / à / exclude / RewriteRule wp-content / plugins / (. * \ .php) $ - [R = 404, L] RewriteCond% {REQUEST_URI}! ^ / wp-content / themes / fichier / à / exclure \ .php RewriteCond% {REQUEST_URI}! ^ / Wp-content / themes / repertoire / vers / exclure / RewriteRule wp-content / themes / (. * \ .php) $ - [R = 404, L]
10. Configurer des redirections permanentes
Vous pouvez facilement gérer les redirections permanentes avec .htaccess. Vous devez d'abord ajouter l' ancienne URL, puis suivre la nouvelle URL qui pointe vers la page vers laquelle vous souhaitez rediriger l'utilisateur.
# Redirections permanentes Redirection 301 / oldurl1 / http://yoursite.com/newurl1 Redirect 301 / oldurl2 / http://yoursite.com/newurl2
11. Envoyer des visiteurs à une page de maintenance
Nous avons écrit sur cette technique en détail ici. Vous avez besoin d'une page de maintenance distincte ( maintenance.html
dans l'exemple) pour que cette règle .htaccess fonctionne. Ce code place votre site WordPress en mode maintenance .
# Redirige vers la page de maintenanceRewriteEngine sur RewriteCond% {REMOTE_ADDR}! ^ 123 \ .456 \ .789 \ .000 RewriteCond% {REQUEST_URI}! /maintenance.html$ [NC] RewriteCond% {REQUEST_URI}! \. (Jpe? G? | Png | gif ) [NC] RewriteRule. * /maintenance.html [R = 503, L]
12. Restreindre tout accès à WP comprend
Le dossier /wp-includes/
contient les principaux fichiers WordPress nécessaires au fonctionnement du CMS. Il n'y a pas de contenu, de plugins, de thèmes ou de quoi que ce soit d'autre qu'un utilisateur puisse vouloir accéder ici. Donc, pour renforcer la sécurité, il est préférable de restreindre tous les accès .
# Bloque tous les dossiers et fichiers wp-includesRewriteEngine sur RewriteBase / RewriteRule ^ wp-admin / includes / - [F, L] RewriteRule! Wp-includes / - [S = 3] RewriteRule ^ wp-includes / [^ /] + \. Php $ - [F, L] RewriteRule ^ wp-includes / js / tinymce / langs /.+ \ .php - [F, L] RewriteRule ^ wp-includes / theme-compat / - [F, L]
13. Bloquer les scripts inter-sites (XSS)
L'extrait de code suivant provient de WP Mix et protège votre site contre certaines attaques XSS courantes, à savoir les injections de script et les tentatives de modification des variables globales et de requête.
# Bloque certaines attaques XSSRewriteCond% {QUERY_STRING} (\ |% 3E) [NC, OU] RewriteCond% {QUERY_STRING} GLOBALS (= | \ [| \% [0-9A-Z] {0, 2}) [OU] RewriteCond% {QUERY_STRING } _REQUEST (= | \ [| \% [0-9A-Z] {0, 2}) RewriteRule. * Index.php [F, L]
14. Activer la mise en cache du navigateur
Comme je l'ai mentionné précédemment, .htaccess n'est pas seulement bon pour des raisons de sécurité et de redirections, mais il peut aussi vous aider à gérer le cache . L'extrait de code ci-dessous provient de Elegant Themes et rend la mise en cache du navigateur possible en permettant aux visiteurs d' enregistrer certains types de fichiers . Ainsi, la prochaine fois qu'ils visitent, ils n'ont plus besoin de les télécharger.
# Active la mise en cache du navigateurExpiresByType image / jp "accès 1 an" ExpiresByType image / jpeg "accès 1 an" ExpiresByType image / gif "accès 1 an" ExpiresByType image / png "accès 1 an" ExpiresByType text / css "accès 1 mois" ExpiresByType application / pdf "accès 1 mois" ExpiresByType text / x-javascript "accès 1 mois" application ExpiresByType / x-shockwave-flash "accès 1 mois" ExpiresByType image / x-icon "accès 1 an" ExpiresDefault "accès 2 jours"
15. Configurer des pages d'erreur personnalisées
Vous pouvez utiliser .htaccess pour configurer des pages d'erreur personnalisées sur votre site WordPress. Pour que cette méthode fonctionne, vous devez également créer les pages d'erreur personnalisées ( custom-403.html
, custom-404.html
dans l'exemple) et les télécharger dans votre dossier racine.
Vous pouvez configurer une page d'erreur personnalisée pour tout code d'état d'erreur HTTP (codes d'état 4XX et 5XX) souhaité.
# Configure les pages d'erreurs personnalisées ErrorDocument 403 / custom-403.html ErrorDocument 404 / custom-404.html
20 trucs et astuces utiles de Microsoft Windows 8.1
Avec la mise à niveau de Windows 8 à 8.1, Microsoft a fait plusieurs changements principalement pour améliorer certains aspects que Windows 8 a reçu des critiques . Pour les débutants, il y a le retour du bon vieux bouton Démarrer, la possibilité de créer un diaporama d'écran de verrouillage, et même le support pour l'impression 3D!Nous avon
Samsung Galaxy S8 - Le phare qui pourrait changer l'avenir de l'entreprise
En 2016, Samsung a réussi à se poser dans la soupe chaude en raison de l'échec catastrophique de la Note 7. Largement considéré comme l'un des plus grands scandales de l'industrie de la technologie, la bonne réputation de Samsung a pris le dessus sur les échecs du Note 7 . Maintenant, avec la société coréenne qui lance officiellement le Galaxy S8, la question devient la suivante: la S8 permettra-t-elle à Samsung de passer au fiasco Note 7, ou la S8 continuera-t-elle à mener la société coréenne à la noirceur?Avant de parler