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 Pblanc.
Bravo pour ce module. En plus de l’amélioration proposée par Geoffrey, je propose de rendre varaible la page concernée. par exemple wp-comment.php. ce qui permettrait aussi de déjouer les spams automatiques.
Qu’en pensez-vous ?
Bonne continuation
Commentaire de Grégory Viguier.
Salut Pblanc et merci.
Pour ta question, j’en pense que ceci n’a rien à voir avec le plugin actuel.
Commentaire de Dan.
Franchement une très bonne idée que je vais m’empresser d’aller tester. Si ça peut limiter ce genre de bourrinage c’est déjà ça de gagner !
Commentaire de Bruno TRITSCH.
Bonjour,
Je viens d’installer votre plugin sur mon tout nouveau multisite et autant je n’ai aucun soucis avec l’administration, autant le blog test que j’ai créé en sous-dossier ne s’affiche plus côté visiteur et affiche une simple page blanche!
Que dois-je faire?
Merci d’avance.
Cordialement,
Bruno
Commentaire de Grégory Viguier.
Bonjour Bruno.
Quelle version de WordPress utilisez-vous ?
Une chose qui pourrait aider, serait de mettre le site en mode debug, juste le temps de visiter la page blanche pour voir les messages d’erreur affichés. Ce serait d’une grande aide pour savoir d’où vient le problème.
Merci pour le retour d’info.
Commentaire de AlexRider38.
C’est génial :)
Commentaire de sospc95.
Bonjour,
J’ai le même problème décrit par Bruno, le plugin s’installe correctement mais au moment de sauvegarder les paramètres du plugin j’ai une page blanche et l’accès au panneau d’administration n’est plus accessible.
En revanche l’enregistrement des paramètres du plugin à quand même été prise en compte (enfin à moitié) car quand je me met sur la page « xxxx.blog/wp-login.php » j’ai bien le message disant que cette page n’est plus accessible mais quand je vais dans la page « xxxx.blog/login.php » j’ai une erreur 404 page introuvable.
Donc en gros le plugin à réussi à bloqué l’accès de la page wp-login.php mais ne fait pas la redirection vers login.php donc plus aucun accès pour me connecter en admin.
A savoir que j’ai ce problème sur 3 blogs wordpress, dont 2 avec le thème Mystique.
Version php : 5.5
Version wordpress : 3.8 / 3.7.1 / 3.7
Plugin Noop installé et le code à mettre dans le .htaccess ont bien été mit.
Merci
Bonne journée
Commentaire de Grégory Viguier.
Salut sospc95, désolé pour le problème rencontré.
Pour la page blanche cela m’inquiète, j’aimerais bien savoir quelle erreur se cache derrière. As-tu la possibilité d’activer le mode debug ? Cela permettrait d’afficher le message d’erreur php. Sans ça, je n’ai aucune info, donc impossible à résoudre :/
Pour la 404 ce n’est du tout étonnant puisque le point n’est pas un caractère autorisé. J’utilise la même fonction que celle utilisée par WordPress pour l’url des articles : les points sont remplacés par des tirets.
Merci pour ton retour d’XP.
Commentaire de Grégory Viguier.
Re.
« You have invalid code in your « User Functions » which generates output in the wrong place. »
Erf, ouais super, c’est bien qu’il me dise qu’il y a eu une erreur, mais j’aimerais savoir laquelle ^^’
Si tu as conservé « login » bah il faut aller à example.com/login ^^
Si tu désactives Noop, tout marche bien ?
Commentaire de sospc95.
Ça marche nickel en désactivant Noop ;)
Plus de page blanche et la page est bien redirigé, que demander de plus ^^
Merci ;)
Par contre il y à quand même des erreur dans mon blog mais comme tu dis le mode debug ne dit pas grand chose…
Commentaire de Grégory Viguier.
@sospc95
Je viens de lâcher une mise à jour de Noop, j’ai découvert des bugs graves qui pourtant ne m’avaient jamais lancé d’erreurs jusque là.
Donc si ça t’intéresse : activer Noop, mettre à jour, tester si maintenant c’est bon.
Merci :)
Commentaire de sospc95.
C’est tout bon, ça marche.
Merci pour ta mise à jour ;)
Commentaire de Grégory Viguier.
Super o/
C’est bizarre que ce problème ne se soit pas montré plus tôt. C’est une erreur qui mène obligatoirement vers une erreur fatale (page blanche + message), or ça fait des mois que je bosse avec Noop et… rien :|
Il a fallut que t’en parles pour que je le rencontre moi aussi chez une cliente ^^
Donc merci :)
Commentaire de sospc95.
De rien ^^
Si je trouve d’autres problème compte sur moi pour te le signaler
Merci à toi surtout pour ta réactivité ;)
Commentaire de sospc95.
Salut Greg,
Merci pour ton retour rapide ;)
Voici ce que donne le mode debug :
You have invalid code in your « User Functions » which generates output in the wrong place.
Possible page templates to search (in this order): front-page, home, index.
Using the home.php template.
No active widgets in . Area disabled.
101 interrogations en 1, 94 secondes (6.49M)
Sinon pour éviter la page 404, quel lien devrais je taper pour accéder à ma nouvelle page de connexion admin ? (en admettant que j’ai conservé les valeurs par défaut du plugin, à savoir « login »).