Limiter les tentatives de connexion sans plugin ?
Comment protéger la page de connexion WordPress sans utiliser de plugin
English version: Limit login attempts without a plugin?
Vous trouverez de nombreux commentaires et conseils à ce sujet sur Internet. Mais est-ce vraiment vrai ?
Par défaut, WordPress autorise un nombre illimité de tentatives de connexion via le formulaire de connexion, l'envoi de cookies spéciaux, les appels XML-RPC et les appels à l'API REST. Cela permet de pirater les mots de passe relativement facilement par attaque par force brute. De nos jours, les pirates et les bots tentent constamment de se connecter à votre site WordPress en devinant votre mot de passe d'administrateur et ceux des autres utilisateurs enregistrés. Par conséquent, si vous souhaitez protéger votre site sans utiliser d'extension, vous avez besoin de :
- Maîtriser le PHP .
- Il est nécessaire de bien comprendre les filtres et actions d'authentification (intégrés à WordPress) pour pouvoir les utiliser. Je recommande de commencer par des hooks comme « authenticate » et « wp_login_failed ».
- Suivez les requêtes d'autorisation post-connexion (formulaire XML RPC et API REST), et n'oubliez pas les cookies d'autorisation (sont-ils valides ?).
- Stockez quelque part toutes les tentatives de connexion, avec toutes les adresses IP concernées, afin de déterminer quelles adresses IP bloquer et quand. Je recommande l'utilisation de l'API Transient. Vraiment. C'est la solution la plus simple. Bien sûr, vous n'avez pas de contrôle total, mais son utilisation vous permet d'agir sans connaître SQL.
- Calculer le temps écoulé entre deux tentatives de connexion infructueuses pour une adresse IP donnée.
- Disposez d'un outil ou d'un code PHP permettant de réinitialiser ces compteurs et de bloquer l'adresse IP d'un client. Que se passe-t-il si un client légitime est bloqué par erreur ?
Ça paraît fou ? Vous avez une autre solution. Vous pouvez chercher sur Google et récupérer des extraits de code sur un blog, sans aucune garantie ni assistance.
Conclusion : Vous trouverez de nombreux conseils sur Internet pour limiter les tentatives de connexion sans plugin. Cependant, ces conseils proviennent souvent de personnes qui ignorent le fonctionnement précis de l’algorithme d’authentification de WordPress, y compris les contributeurs de Stack Overflow. Quoi qu’il en soit, vous pouvez y parvenir si la sécurité de votre site ne vous préoccupe pas, car il n’existe pas de solution optimale sans compétences en programmation PHP et sans connaissance du mécanisme d’authentification de WordPress.