web-dev-qa-db-fra.com

Est-il possible de renommer ou de cacher le fichier wp-login.php?

Un moyen de changer l'URL wp-login.php? Il semble peu sûr que quiconque a déjà utilisé Wordpress puisse facilement voir si votre site l'utilise, et accéder directement à la page de connexion.

Il existait un plugin appelé "Connexion furtive", mais il n'était pas mis à jour. (Et d’où notre réticence à nous appuyer sur des plugins).

26
David

Si vous faites cela pour votre propre site, alors utiliser .htaccess pourrait être le moyen le plus simple, bien que cela puisse devenir difficile si vous voulez le faire fonctionner pour un plugin, car il y aurait beaucoup de différences de configuration subtiles à prendre en charge.

Voici quelques articles qui pourraient aider. Tous ne répondent pas directement à votre question, mais ils répondent tous d'une manière ou d'une autre à votre problème de sécurité:

Et bien sûr, ce n’est pas un expert en blogs sur Apache et WordPress que celui qui écrit AskApache . Assurez-vous de vérifier ces:

22
MikeSchinkel

J'ai rencontré le même problème récemment et vous avez raison de dire que le plug-in Stealth n'est plus pris en charge. Cependant, parce que j'ai finalement compris que le plug-in Stealth était la meilleure option, j'ai effectué une nouvelle installation de WordPress sur la dernière version de WordPress prise en charge par le plug-in Stealth afin de comprendre le fonctionnement du plug-in. Il s'avère que la seule chose que le plugin fait est de créer un fichier .htaccess avec un peu de magie. Le fichier .htaccess ressemblera un peu à ceci:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^logout wp-login.php?action=logout&_wpnonce=asdfasdf&stealth_out_key=asdfasdfasdfasdf [L]
RewriteRule ^login wp-login.php?stealth_in_key=asdfasdfasdf&redirect_to=http://example.com/login [R,L]
RewriteRule ^admin wp-admin/?stealth_admin_key=asdfasdfasdfasdf [R,L]
RewriteCond %{HTTP_REFERER} !^http://example.com/wp-admin
RewriteCond %{HTTP_REFERER} !^http://example.com/wp-login\.php
RewriteCond %{HTTP_REFERER} !^http://example.com/login
RewriteCond %{HTTP_REFERER} !^http://example.com/admin
RewriteCond %{QUERY_STRING} !^stealth_in_key=asdfasdfasdfasdf
RewriteCond %{QUERY_STRING} !^stealth_out_key=asdfasdfasdfasdfasd
RewriteCond %{QUERY_STRING} !^stealth_reg_key=asdfasdfasdfasdfasdf
RewriteCond %{QUERY_STRING} !^stealth_admin_key=asdfasdfasdfasdfasdf
RewriteRule ^wp-login\.php http://example.com [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^wp-login\.php http://example.com [R,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

J'ai changé toutes les clés en une variante de "asdfasdfasdf" - vous auriez évidemment besoin de créer des clés secrètes pour vous-même.

J'espère que cela t'aides!

10
epaps