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 Grégory Viguier.
Petite mise à jour du plugin vers la version 1.1-RC1. Si tout va bien c’est la version finale.
Bugfix concernant l’installation de Noop, modif de l’icône de la seconde section dans les réglages pour qu’elle corresponde aux icônes de WP 3.8.
Commentaire de sospc95.
Salut Greg,
Juste pour info la mise à jour ne fonctionne pas chez moi.
Quand je me connecte à la nouvelle page login, j’ai une page toute blanche avec ce beau message :
« Cette page Web présente une boucle de redirection »
En attendant je suis revenu à l’ancienne version (je l’avais gardé au cas où) ;)
Merci
Commentaire de sospc95.
Désolé pour le double post.
C’est pour t’avancer un peu le boulot ^^
Cette fois ci le problème vient de la mise à jour de SFmovelogin et non pas de Noop.
Voila si ça peut t’aider ;)
Commentaire de Grégory Viguier.
Hélas, les différences entre la RC1 et la 1.1 finale sont très minces et n’ont aucun rapport avec un tel problème.
Je n’ai donc aucune solution :/
Commentaire de sospc95.
C’est pas grave je resterais sur l’ancienne version ça ne me gêne pas.
Merci en tout cas d’avoir vérifié :)
Commentaire de cuncta.
Bonjour,
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);
C’est mon cas après installation et paramétrage du plugin >.< Cette méthode ne fonctionne pas avec moi. wp-admin reste introuvable, j'ai du 404 sur tous les chemins vers le panneau de connexion.
Commentaire de Grégory Viguier.
Salut.
Je viens de vérifier le code du plugin et le comportement que tu décris ne me parait pas possible.
J’ai vérifié par même en plaçant le define dans wp-config.php et j’accède bien à la page de login via son url normale.
Vraiment, je ne vois pas ce qui se passe de ton côté :/
Du coup il ne te reste qu’à renommer le dossier du plugin afin de le désactiver et pouvoir accéder à l’administration. Vraiment désolé pour ce soucis, ne comprenant pas comment il peut se produire je ne vois pas comment le résoudre hélas.
A+