Sur Internet vous trouverez beaucoup d’articles qui expliquent comment ajouter une protection par mot de passe pour votre back-office.
Il existe un problème
Avec une protection par mot de passe sur ce dossier, il y a un gros problème car cela va empêcher toutes les requêtes vers admin-ajax.php
et admin-post.php
.
Dans le Codex de WordPress vous pourrez trouver une page vous expliquant comment implémenter l’AJAX. Vous y lirez que admin-ajax.php
se trouve dans /wp-admin/
.
En utilisant une protection par mot de passe pour ce dossier vous bloquez l’accès à ces fichiers ce qui veut dire que les requêtes AJAX sont cassées.
Il existe une solution
Vous pouvez tout à fait faire ça, mais il n’y a qu’un seul bon moyen :
[pastacode lang=”markup” manual=”AuthType%20Basic%0AAuthName%20%22Protected%20page%22%0AAuthUserFile%20%2Fhome%2F.htpasswd%0A%0ARequire%20valid-user%0A%3CFiles%20admin-ajax.php%3E%0A%20%20Order%20allow%2Cdeny%0A%20%20Allow%20from%20all%0A%20%20Satisfy%20any%0A%3C%2FFiles%3E%0A%3CFiles%20admin-post.php%3E%0A%20%20Order%20allow%2Cdeny%0A%20%20Allow%20from%20all%0A%20%20Satisfy%20any%0A%3C%2FFiles%3E%0A%3CFiles%20%22%5C.(css%7Cgif%7Cpng%7Cjs)%24%22%3E%0A%20%20Order%20allow%2Cdeny%0A%20%20Allow%20from%20all%0A%20%20Satisfy%20any%0A%3C%2FFiles%3E” message=”” highlight=”” provider=”manual”/]
Avec ce code, vous bloquerez les accès au dossier /wp-admin
mais PAS pour ajax/post
ni les contenus comme les jpg/css/js
. Ceci est la bonne méthode.
Vous pouvez utiliser htaccesstools.com pour générer le fichier .htpasswd
que vous copierez sur votre serveur comme indiqué dans l’exemple : /home/.htpasswd
.
Maintenant, gardez en tête que cette protection par mot de passe n’est PAS la seule façon de protéger vos contenus et fichiers. Notre plugin de sécurité SecuPress le fera facilement sans que vous n’ayez à taper la moindre ligne de code.