Voici mon dernier plugin pour WordPress qui passe en version 1.0 stable après plusieurs mois de bêta : Move Login, il est donc temps que je vous en parle un peu.
Ça fait quoi ?
Ce plugin va changer l’url de connexion/déconnexion de votre site WordPress.
Par exemple, https://www.screenfeed.fr/wp-login.php va devenir https://www.screenfeed.fr/login/, ou https://www.screenfeed.fr/wp-login.php?action=logout deviendra https://www.screenfeed.fr/logout/.
En parallèle, l’accès à https://www.screenfeed.fr/wp-login.php sera interdit (un message d’erreur sera affiché).
À noter pour les installations MultiSite que chaque site aura droit à sa propre page de connexion, avec des url différentes.
C’est un plugin que j’ai développé avec l’aide de l’ami Julio :) (ouais comme ça j’ai droit au label de qualité « Approved by SecuPress » ^^ ).
Et ça sert à quoi ?
On pourrait penser au premier abord que le but est de faire de jolies url faciles à retenir, mais il n’en est rien. Le but recherché est de bloquer l’accès à la page https://www.screenfeed.fr/wp-login.php afin de couper court aux tentatives de brute force de votre page de connexion.
Brute-quoi ? Wikipedia nous dit :
La méthode « Brute Force » est une approche exhaustive des problèmes : la solution est trouvée en testant tous les cas possibles jusqu’à la découverte de la solution.
En clair, on essaie toutes les combinaisons possibles de login/mot de passe jusqu’à trouver la bonne. Le but recherché étant bien sûr de pénétrer dans l’administration du site et d’y mettre un joli bordel.
Mais au final, on ne fait que déplacer le problème ailleurs ?
Oui mais non. Certes, on peut toujours tenter de « brute forcer » votre login à la nouvelle adresse, mais ce n’est pas un humain qui fait ces tentatives, mais un robot (comprendre : un script/logiciel présent sur un serveur ou un ordinateur). Et le robot est bête (en général). Sur un site WordPress, la page de connexion se situe à l’adresse https://www.screenfeed.fr/wp-login.php, il va donc tenter ses vils desseins à cette adresse, et pas ailleurs.
Configuration
Rien. On active le plugin, ça marche.
Si jamais le plugin ne peut pas écrire dans le fichier .htaccess
de votre site, il vous le fera savoir au moment de son activation. Il faudra alors se munir d’un logiciel ftp et ajouter les lignes nécessaires soi-même.
Où trouve t’on ces lignes ? Facile, le plugin vous l’indiquera aussi. Pour un site WordPress « normal » il faut se rendre dans la page de réglage des permaliens. Pour un site WordPress MultiSite, une nouvelle page est créée dans l’administration du réseau, sous l’onglet « Réglages » (le plugin n’est activable que sur le réseau).
Ha oui, il faut bien sûr que les permaliens soient activés sur le site (sur tous les blogs pour un MultiSite).
Le plugin prend en charge les serveurs IIS, mais ça n’a pas été testé.
Filtres et actions
Une action est introduite avec cette version 1.0, elle permet de modifier l’action à entreprendre lorsque quelqu’un tente d’accéder à wp-login.php
:
'sfml_wp_login_error'
(action) : d’origine le plugin va utiliser wp_die()
pour afficher le message d’erreur. Ce hook va vous permettre de personnaliser le message d’erreur, ou bien de renvoyer une erreur 404 au lieu de 500, ou encore de rediriger le « visiteur » vers une autre page de votre choix.
Exemple, redirection vers l’accueil du site :
123456
remove_action( 'sfml_wp_login_error', 'sfml_wp_login_error' );
add_action( 'sfml_wp_login_error', 'my_wp_login_error' );
function my_wp_login_error() {
wp_safe_redirect( home_url() );
exit;
}
Au secours !
Bloqué à l’extérieur ? Un truc qui foire ? Vous ne pouvez plus vous connecter ?
Il y a une solution. Avec un logiciel ftp, ajoutez la ligne suivante à votre fichier wp-config.php
(situé à la racine du site) : define('SFML_ALLOW_LOGIN_ACCESS', true);
Vous aurez alors accès à la page de connexion traditionnelle, le temps de trouver où se situe le problème.
Besoin d’aide ? Les commentaires sont ouverts, ainsi que le forum sur le site de WordPress.
Commentaires
Commentaire de Thierry.
Bonjour, du coup est-ce qu’une protection avec un .htaccess en amont de /wp-admin permet d’éviter d’installer ce plugin ou vous conseillez de faire les 2 ?