J'ai un système de connexion nécessitant un nom d'utilisateur et un mot de passe. Je veux afficher un captcha après un certain nombre de tentatives de connexion infructueuses. Quelle est la bonne façon d'implémenter cela ? J'ai lu un peu partout sur ce site et certaines solutions suggèrent d'ajouter un "failed-attempts-count" à la table des utilisateurs. Cependant, j'ai besoin que les tentatives échouées ne soient pas liées à un certain utilisateur - c'est-à-dire que je voudrais que le captcha soit affiché indépendamment du fait que le nom d'utilisateur qui a été entré existe ou non dans le système. Le stockage dans une variable de session serait-il acceptable (j'utilise PHP) ? Si c'est le cas, n'y a-t-il pas d'inconvénient à jeter les données dans les variables de session selon les besoins ? J'ai déjà un identifiant de session pour chaque visiteur du site (qu'il soit connecté ou non) et je pourrais donc créer une table qui associe les tentatives de connexion à cet identifiant de session...une idée de la meilleure approche / la plus sûre ? Merci.
Mise à jour : D'après les réponses obtenues jusqu'à présent, il semble que l'ID de session ne soit pas la meilleure idée, car le pirate pourrait simplement vider son cache (mais est-ce vraiment un problème, car cela ne ralentirait-il pas suffisamment l'attaque par force brute pour la rendre inutile ?) L'autre option est par IP... mais j'hésite pour les utilisateurs sous un intranet ou un proxy car les tentatives échouées seront partagées.... Je ne peux pas vraiment penser à d'autres méthodes... et vous ?