Move Login est une extension permettant de modifier l’URL de la page de connexion à l’administration de WordPress. l’URL pour l’inscription ainsi que celle de remise à zéro du mot de passe sont également modifiables.
Ce que fait Move Login
Exemples :
http://example.com/wp-login.php => http://example.com/login/
http://example.com/wp-login.php?action=register => http://example.com/register/
En parallèle, l’accès à http://example.com/wp-login.php sera interdit (par défaut, un message d’erreur sera affiché).
À noter pour les installations Multisite que chaque site aura droit à sa propre page de connexion.
Le but premier de cette extension n’est pas d’avoir une jolie URL facile à retenir, c’est un plus. Le vrai but de cette extension est stopper les tentatives de brute-force sur votre page de connexion.
De Wikipedia :
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.
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 distant). Et le robot est bête (en général). Sur un site WordPress, la page de connexion se situe à l’adresse http://example.com/wp-login.php, il va donc tenter ses vils desseins à cette adresse, et pas ailleurs.
Configuration
On active l’extension, ça marche.
L’extension a une page de réglages où vous pourrez personnaliser ces URLs. Move Login a par contre besoin d’écrire dans le fichier .htaccess de votre site. S’il ne le peut pas, il le signalera et ce sera à vous d’ajouter les lignes nécessaires au fichier via un logiciel ftp.
Sur la page de réglages, on peut aussi décider de l’action à réaliser lorsque quelqu’un tente d’accéder à l’ancienne URL de la page de connexion, ou à l’administration.
L’extension prend en charge les serveurs IIS et Nginx (non testé avec IIS), et il faudra paramétrer le serveur manuellement.
Principaux filtres et actions
1- Action lors d’un accès à wp-login.php
C’est l’action à entreprendre lorsque quelqu’un tente d’accéder à wp-login.php
.
Cette action est paramétrable dans les réglages, cependant un hook est disponible :'sfml_wp_login_error'
(action).
Exemple, redirection vers une page spécifique du site :
1234567
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_redirect( get_permalink( 42 ) ); // ID de la page à personnaliser
exit;
}
Pour l’action à entreprendre lorsque quelqu’un tente d’accéder directement à l’administration, c’est la même chose mais avec l’action sfml_wp_admin_error
(normalement, la personne est redirigée vers la page de connexion).
2- Formulaires de connexion additionnels
Certaines extensions peuvent ajouter leur propre action à la page de connexion, c’est à dire un nouveau formulaire. Move Login gère déjà ces actions supplémentaires, sous la forme example.com/login/?action=my-custom-action
.
Un simple filtre permet d’ajouter cette action à la liste de celles personnalisables :
123456
add_filter( 'sfml_additional_slugs', 'foo_add_move_login_slug' );
function foo_add_move_login_slug( $slugs ) {
$slugs['my-custom-action'] = __( 'My custom action' );
return $slugs;
}
Ici, my-custom-action
est donc l’action, et __( 'My custom action' )
est le texte du champ texte dans la page de réglages de Move Login.
Ainsi, l’URL deviendra example.com/my-custom-action/
par défaut, et sera personnalisable dans les réglages. Un détail par contre, l’utilisateur devra se rendre sur la page de réglages et enregistrer les réglages, car le fichier .htaccess devra encore être édité par Move Login pour prendre en compte cette nouvelle action.
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.
Co-développeur : Julio Potier.
Commentaires
Commentaire de Laurent.
Bonjour Greg,
Depuis quelques temps, j’utilise votre plugin ‘Move login’. Je viens de me rendre compte à la faveur d’une nouvelle installation de WordPress que le plugin n’affecte pas toutes les url de connexion de WordPress. ‘Move Login’ fonctionne parfaitement pour l’url http://www.monsite.com/wp-admin mais je semble pas fonctionner avec l’url de connexion http://www.monsite.com/wp-login. Le plugin semble fonctionner à nouveau si on appelle l’url de connexion http://www.monsite.com/wp-login.php. Il suffit d’oublier le .php dans l’url et zoup, la page de connexion est disponible en dehors de son url configurée avec Move login.
J’ai pu le constater à l’instant sur deux installations différentes. L’une est classique avec WP 4.1 l’autre avec un certificat ssl et WP 4.1 également. Les deux sont hébergées chez OVH sur deux offres différentes.
Ai-je manqué un paramétrage ?
Je serais ravi que vous puissiez m’aider à corriger ce petit désagrément.
Merci Greg
Commentaire de Grégory Viguier.
Bonjour Laurent.
Je suis surpris car l’url http://www.monsite.com/wp-login n’existe pas normalement. Vous pouvez d’ailleurs la tester ici, vous aurez une 404. Je viens de la tester sur plusieurs installations, 404 à chaque fois. Donc je ne sais pas ce qui créé cette url chez vous, mais ce n’est pas normal, c’est donc pour cela que le plugin ne la bloque pas : elle n’est pas sensée exister :/
Commentaire de Laurent.
Merci Grégory pour votre réponse. N’étant pas certain de connaître toutes les urls de connexion de WordPress, je viens d’achever quelques expérimentations identiques sur 8 installations WordPress différentes, sur les versions 3.4.2, 3.9, 3.9.3, 4, 4.01 et 4.1. ‘Move Login’ est installé sur deux de ces installations en 4.1.
J’ai testé les comportements du plugin avec les urls suivantes : http://www.example.com/admin
http://www.example.com/login
http://www.example.com/wp-login
http://www.example.com/wp-login.php
J’ai testé d’autres urls qui n’ont rien donné.
> J’ai noté la disponibilité de toutes ces urls sur chacune des 8 installations qui ont en commun ovh comme hébergeur.
> Le plugin fonctionne très bien et ‘répond aux ordres’ avec les urls /wp-login.php et /admin.
> ‘Move Login’ en revanche ne répond pas aux ordres avec les urls /login et /wp.login qui permettent de passer outre le plugin : ces 2 urls en effet permettent d’accéder directement au formulaire de connexion.
Voilà Grégory ce vers quoi m’ont mené mes tests aujourd’hui. Du coup, je suis un peu frustré. Je trouve le fonctionnement de ‘Move Login’ excellent. Pour autant, je ne suis pas certain qu’en l’état, le plugin remplisse entièrement sa mission puisque le formulaire de connexion est facilement accessible avec certaines urls. C’est vous le spécialiste et je m’en remets à vous pour savoir si j’ai mal compris ce que propose ‘Move Login’.
Commentaire de Grégory Viguier.
Bonjour.
Le plugin a deux boulots :
– bloquer l’accès à la page /wp-login.php.
– créer une nouvelle url pour le formulaire de connexion, parce qu’il faut bien pouvoir se connecter à un moment ou un autre.
Donc même dans votre situation, il remplit parfaitement son rôle.
Grâce à un peu de magie vaudou on a accès au formulaire via les url /login et /wp-login ? Osef, /wp-login.php est bloquée, les autres url sont sans importance puisque les bots vont taper sur /wp-login.php et pas ailleurs.
Cependant j’ai une idée qui pourrait résoudre le problème, je vais étudier ça. Ne pouvant reproduire ce problème, je fournirais peut-être une version de test ici avant diffusion de la version finale.
Commentaire de Laurent.
Merci Grégory pour vos précisions.
Je reste dans le coin afin de suivre l’évolution de vos travaux ;)
Commentaire de Grégory Viguier.
Salut Laurent, voici la version beta de Move Login 2.0.
Refonte partielle du plugin, plus besoin de mon framework Noop, résout à priori ton soucis de redirection (pense à exporter les réglages avant d’installer cette version, au cas où tu voudrais revenir en arrière).
Commentaire de Laurent.
Bonjour Grégory,
Plugin téléchargé ! Merci beaucoup. Je compte l’installer et le tester cette semaine. Je reviens pour vous donner mes impressions.
Je vois que le répertoire officiel de WordPress affiche une mise à jour du 7 février pour Move Login. Est-ce cette version que je viens de télécharger sur votre Dropbox ?
Merci à SecuPress et Julio Potier s’ils ont également participé à cette version.
A très vite…
Commentaire de Grégory Viguier.
Voici la beta 2, qui corrige un bug.
Commentaire de Laurent.
Bonjour Grégory,
Merci pour ces deux versions. Je pense que la beta2 corrige la redirection de wp-admin, n’est-ce pas ?
J’ai testé toutes les urls qui m’avaient ramené la dernière fois vers l’accès au formulaire de connexion. Elles sont désormais toutes protégées d’une manière ou d’une autre.
J’ai testé en donnant l’ordre à ‘Move Login’ de renvoyer une 404 dans tous les cas. C’est ce qu’il fait pour la quasi totalité des urls. Seules les urls /wp-admin.php et /admin semblent un peu récalcitrantes et renvoient d’elles-même vers la page d’accueil au lieu de donner une 404 alors que leur soeur /wp-admin renvoie bien une 404 comme demandé. Quoi qu’il en soit, rien ne redirige vers la connexion.
En ce qui me concerne, je suis satisfait du résultat puisque désormais le formulaire de connexion n’est accessible que si l’on en connait l’url exacte. Merci Grégory pour votre travail.
Allez-vous déposer cette version sur le répertoire officiel ?
Commentaire de Grégory Viguier.
Bonjour.
Votre problème de redirection est corrigé depuis la beta1. En fait il s’agissait de redirections créées par WordPress lui-même (je n’étais pas au courant que WP faisait ça). Par exemple, /login redirigeait vers /wp-login.php et /admin vers /wp-admin.
Maintenant que ces redirections ont disparues, lorsque l’on veut accéder à /login ou /admin, c’est comme si on demandait la page appelée « login » ou « admin », et elles devraient donc déclencher une erreur 404 toutes seules puisqu’elles n’existent pas. Pour /wp-admin.php c’est un peu pareil, puisque ce fichier n’a jamais existé (le .php est en trop), cette url devrait donc retourner une erreur 404.
Pas de 404 mais à la place vous êtes redirigé vers l’accueil ? Sûrement qu’il y a quelque chose sur le site qui redirige toutes les 404 vers l’accueil.
Commentaire de Laurent.
Merci Grégory pour vos précisions.
Je trouve le plugin parfait !
Commentaire de Bruno TRITSCH.
Bonjour Grégory,
Je suis fortement intéressé d’installer ton extension, car plusieurs de mes sites subissent régulièrement des attaques de type brute force (je reçois les notifications de Wordfence), cependant la plupart d’entre eux utilisent un plugin de soumission d’article qui de fait déplace déjà le formulaire de connexion à l’adresse de la page configurée pour (par le webmaster du site) et crée automatiquement une redirection.
J’ai peur qu’en installant ton plugin on ne puisse plus accéder au formulaire de connexion, qu’en penses-tu?
Je te remercie par avance pour ta réponse.
Cordialement,
Bruno
Commentaire de Grégory Viguier.
Bonjour Bruno.
Pourquoi ne pas demander à la personne qui fait la direction directement ? Ce serait à tester mais effectivement, je pense que mon plugin ne va pas être copain avec celui dont tu parles.
Je n’ai jamais utilisé Wordfence, mais à mon avis s’il te signale les attaques c’est qu’en même temps il les bloque, donc pas de risque.
Commentaire de Bruno TRITSCH.
Bonjour Grégory,
La redirection est automatiquement mise en place par le plugin, donc …
Bien sur que Wordfence les bloque, cependant les nombreuses tentatives (avant blocage de l’ip) peuvent amener à une saturation du serveur, et c’est là que ton extension me semble intéressante, non?
Cordialement,
Bruno
Commentaire de Grégory Viguier.
Je suppose que oui, car l’extension bloque l’accès à la page directement, avant même d’afficher le formulaire de connexion donc (tu peux tester sur ce site).
Tu peux me dire quelle extension tu utilises pour la soumission d’articles ?
Commentaire de vince.
Bonjour j’utilise votre plugin sur plusieurs site sans aucun problème et aujourd’hui impossible avec ce site : http://vince40.odns.fr/cvnews_acad40
Je précise que cela fonctionnait et que de but en blanc plus rien obliger de désactiver car quand actif et que je tape l’url pour le login : page blanche avec comme info « File not found. »
Pas de soucis sur le .htaccess , rien de spécial niveau plugin c’est le seul installé !
Le theme est postline de themify.me
Auriez-vous des idées ??? je n’en ai plus ;)
Commentaire de Grégory Viguier.
Bonjour.
Désolé pour le problème.
Je suppose que c’est un multisite. Version WP ok, version php ok, tout a l’air en ordre.
J’avoue ne pas voir d’où pourrait venir le problème, d’autant que le message « File not found. » ne vient pas du plugin.
Même pas un petit plugin de live chat ? ;)
Commentaire de vince.
Le plugin de live chat a été remis depuis mais il fonctionne sur un autre site avec votre plugin sans aucun soucis !
Non ce n’est pas un multisite.
Je comprends pas grand chose comme il est en pré-prod je vais attendre de le migrer vers le serveur définitif et je verrais à ce moment là je vous recontacterais si problème.
UN TRES GRAND MERCI DE ME REPONDRE LE WEEK-END DE PAQUES ;)
Commentaire de Grégory Viguier.
Ha ok, un pre-prod, je comprends mieux le sous-dossier. Du coup, le problème persiste avec l’un des thèmes par défaut ?
Commentaire de Grégory Viguier.
Je viens de penser à un truc : dans le .htaccess, les règles de Move Login son bien au-dessus de celles de WP ?
Commentaire de vince.
Désolé pour le délai de réponse et encore merci pour les réponses le dimanche de Pâques…
Pour plus d’information j’ai bien un conflit sur htaccess je me doutais aussi que cela ne fonctionnait pas de ce côté.
des règles ont été ajouté par un plugin je pense mais je n’arrive pas à voir lequel et je penche pour wordfence security …
voici ce qui me bloquais :
Pourrais-tu me dire en quoi cela bloque ton plugin je ne vois pas ?
Commentaire de Grégory Viguier.
Salut.
Je ne suis pas assez calé en la matière pour te répondre avec certitude mais je pense que c’est le premier bloc. Je pense à la ligne :
Je ne sais pas ce qu’elle fait exactement mais elle semble cibler tout ce qui ne commence pas par
wp-includes/
(ce qui est étrange au passage).De toute façon il suffit de déplacer le bloc de Move Login avant tout ça et ça devrait marcher.
Commentaire de vince.
J’ai essayé mais sans résultat … enfin j’ai supprimé certaines règles réinstallé les plugin proprement et pour le moment ça refonctionne si besoin je repasse par ici merci pour le soutient et le plugin ;)
Commentaire de Grégory Viguier.
Avec plaisir.
Commentaire de vince.
Bonjour je suis de retour ;) J’ai installé le plugin sur un autre site que je gère. Pas de soucis jusqu’à l’installation du plugin Social Login « OneAll Social Login 4.6 » qui, lui, à l’air de forcer l’accès à la page wp-login.php. J’ai cocher ne pas utiliser les réseaux sociaux pour les pages inscription et connexion mais l’accès perdure !
A part supprimer le pluggin (qui donne accès à ma page pour tous les …;/§$$=*ù*ùm… du web) y aurait-il une autre option ou alors que pourrais-tu me conseiller pour installer un système de log via les réseaux sociaux sur wordpress sans que les gens ne s’inscrivent ?
Commentaire de Grégory Viguier.
Salut.
J’ai testé le plugin et je ne vois pas de problèmes, à part que je n’arrive pas à me connecter avec leur machin :p
J’ai vu des « wp-login.php » dans le code du plugin mais ne pouvant reproduire le problème je ne sais pas si c’est légitime.
Qu’entend-tu par « forcer l’accès à la page wp-login.php » ?
Sinon, non, je ne connais pas d’autre plugin.
Commentaire de vince.
« forcer » = il permet d’afficher la page même avec votre plugin en fonctionnement.
J’ai posé la question au support de leur côté j’attend de voir leur avis.
Merci
Commentaire de Grégory Viguier.
Ok, en somme il rend Move Login inopérant.
Commentaire de vince.
Roulement de tambour … et bien verdict c’est moi qui suis inopérant !
Je viens de m’apercevoir que je n’avais pas supprimer la désactivation de move login dans le wp-config suite aux premiers problèmes que j’avais eu …
Mais quel boulet
Bonne continuation et merci ;)
Commentaire de vince.
Ps : pourquoi on a des têtes de fantômes de pacman maintenant au lieu de notre gravatar sur votre blog ?
Commentaire de Patrick.
When a user attempts to access the old page, I want to be able to redirect to a custom URL instead of an error page or home page. I’m not sure if you can add this feature? Is there a script of code I can change in the plugin file to do this?
Commentaire de Grégory Viguier.
Hi Patrick,
You can achieve this by adding these few lines of code in your theme’s functions.php file.
Commentaire de Elodiebrunel.fr.
Bonsoir,
en mars dernier j’ai installé SF Move Login et tout marchait à merveille. Plus aucune tentative de connexion : le rêve.
Depuis quelques jours j’ai de nouveau plein d’alertes (j’utilise Wordfence). Du coup j’ai constaté que les url monsite/wp-login.php et monsite/wp-login ne redirigent pas vers la page d’erreur mais vers la page de connexion !
Est-ce normal ? Une idée pour résoudre le problème ?
Commentaire de Grégory Viguier.
Bonsoir.
monsite/wp-login.php ne devrait pas rediriger vers la page de connexion, c’est justement ce que le plugin tente d’éviter.
monsite/wp-login ne devrait rediriger vers rien du tout, mais déclencher une 404 classique puisque cette URL n’est utilisée nulle part.
Pour moi ce serait plutôt un autre plugin qui met le bazar, il ne reste plus qu’à trouver le coupable. Pour comparer vous pouvez tester le comportement sur ce site, la dernière version de Move Login est installée (il y a aussi un lien pour se connecter dans la sidebar).
Bonne soirée.
Commentaire de Elodie.
Bon c’est super bizarre. J’ai un site tout simple et seulement 3 plugins : Wordfence, Akismet et le Move login. De mémoire Wordfence a eu une mise à jour récente, je vais regarder de ce coté.
Merci de votre réponse je vous tiendrai au courant, ça pourra peut-être aider d’autres.
Commentaire de Elodie.
c’est à n’y rien comprendre. Move login fonctionne sur la tablette mais pas sur l’ordi ! Je suis perdue.
Commentaire de Grégory Viguier.
Je vais de toute façon devoir étudier le cas de Wordfence, il semble poser le même soucis avec un autre plugin similaire au mien. Peut-être ce weekend.
Commentaire de Elodie.
Merci Grégory !
J’ai cependant supprimé Wordfence pour voir et le problème persiste.
C’est bizarre et cela dépasse malheureusement mes compétences….