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 pouvez trouver de nombreux commentaires et conseils à ce sujet sur Internet. Mais est-ce réel ?
Par défaut, WordPress autorise des tentatives de connexion illimitées via le formulaire de connexion, l'envoi de cookies spéciaux, l'utilisation d'appels XML-RPC et d'appels API REST. Cela permet de déchiffrer les mots de passe avec une relative facilité via une attaque par force brute. De nos jours, les pirates et les robots tentent constamment de se connecter à votre site WordPress en devinant votre mot de passe administrateur et les mots de passe des autres utilisateurs enregistrés sur le site. Donc, si vous souhaitez protéger votre site sans utiliser de plugin, vous avez besoin de :
- Connaissez bien PHP .
- Connaître suffisamment le filtre et l'action d'authentification (intégrés à WordPress) pour les accrocher. Je recommande de commencer par des hooks tels que « authenticate » et « wp_login_failed ».
- Suivez le formulaire de post-connexion, les demandes d'autorisation XML RPC et REST API, et oui, n'oubliez pas les cookies d'autorisation (sont-ils valides ?).
- Stockez quelque part toutes les tentatives de connexion et toutes les adresses IP pour calculer quand et quelle adresse IP vous devez bloquer. Je recommande d'utiliser l'API Transient. Sérieusement. C'est le moyen le plus simple. Bien sûr, vous ne pouvez pas le contrôler, mais son utilisation vous permet de faire quelque chose sans connaissance de SQL.
- Calculez le temps entre les tentatives de connexion infructueuses pour une adresse IP particulière.
- Disposez d'un outil ou d'un code PHP pour réinitialiser l'un de ces compteurs et l'adresse IP client bloquée. Et si un client légitime était bloqué par hasard ?
Ça a l'air fou ? Vous avez une deuxième option. Vous pouvez rechercher sur Google et récupérer des extraits de code sur un blog sur Internet sans aucune garantie ni assistance.
Conclusion : Vous pouvez trouver de nombreux conseils sur Internet pour limiter les tentatives de connexion sans plugin. Mais tous les conseils sont donnés par des personnes qui ne savent même pas comment fonctionne exactement l'algorithme d'authentification de WordPress, y compris ces gentils gars de stackoverflow. Mais, quoi qu’il en soit, vous pouvez le faire si vous ne vous souciez vraiment pas de la sécurité de votre site, car il n’y a aucune option pour le faire correctement sans compétences en codage PHP et connaissance du mécanisme d’authentification WordPress.