15-12-2012, 09:08 PM
Dans ma résidence de l'an passé, on avait tous la même IP, puisque le routeur était centralisé pour environ 150 élèves. Avec ce système, le risque devient fort que l'IP de ce routeur atteigne les 3 comptes bloqués... ou le nombre de tentatives limites.
De plus, s'il y a blocage d'IP, vu la saturation des adresses IPv4 à l'heure actuelle, il y a un risque de bloquer une IP, que cette IP change de propriétaire, et que ce nouveau propriétaire se retrouve bloqué sans comprendre pourquoi...
De plus, il y a le risque qu'un bot passe sur tous les comptes pour activer le captcha sur chacun d'eux (en faisant 2 tentatives par compte), puis qu'une personne mal intentionnée aille remplir le captcha pour faire la 3e tentative, et bloquer le compte d'un joueur (cela peut être suffisant pour que le joueur en question ne joue pas de la journée, par flemme de débloquer le compte ou par peur car le compte est bloqué sans qu'il n'ai rien demandé), et là, bim, ce joueur qui n'a pas joué de la journée se fait massacrer dans le jeu par le "pirate".
Enfin, un système de liens par mail est une porte grande ouverte au phising, qui risque d'être un nouveau soucis...
Je préfère un principe du style "Après 3 tentatives, un captcha", et "une fois le captcha activé, chaque tentative sur un compte est séparé de X secondes de la précédente". Le captcha évite le bot, et pour "verrouiller" un compte, il faudrait que la personne pirate entre des mots de passe bidon en boucle (toutes les X secondes) de sorte que le blocage soit à chaque fois relancé pour X secondes... Ca semble un peu rébarbatif pour le pirate... Après, on peut bricoler un peu plus en mettant en place un système d'aléatoire qui va mettre en pause la page (coté serveur) de connexion pour une durée aléatoire: même si le pirate essaie de se connecter en boucle, du fait de cet aléatoire, le détenteur légitime du compte a encore des chances de passer et de pouvoir se connecter.
On peut aussi se baser sur l'IP pour savoir si la personne a fait 100 essais avec captcha ou 1 seul (s'il en a fait 100, pour cette IP, l'attente sera plus longue, alors que si c'est la 1ere tentative avec captcha, l'attente sera courte). Ainsi, le pirate devra changer son IP s'il veut bénéficier d'un nouveau "crédit" de temps. Or, cette opération prendra quelques secondes (je pense), et donc, le détenteur légitime du compte pourra tranquilement se connecter.
Bref, j'aime mieux ce système, peut-être avec une approche plus "probabiliste" que ta méthode, mais qui évite l'envoie de mails intempestifs et la "peur" qu'un utilisateur ressentira peut-être en voyant, dans sa boite, un mail "Quelqu'un a essayé de vous pirater votre compte de jeu" (mail qui sera surement phisé d'ailleurs).
De plus, s'il y a blocage d'IP, vu la saturation des adresses IPv4 à l'heure actuelle, il y a un risque de bloquer une IP, que cette IP change de propriétaire, et que ce nouveau propriétaire se retrouve bloqué sans comprendre pourquoi...
De plus, il y a le risque qu'un bot passe sur tous les comptes pour activer le captcha sur chacun d'eux (en faisant 2 tentatives par compte), puis qu'une personne mal intentionnée aille remplir le captcha pour faire la 3e tentative, et bloquer le compte d'un joueur (cela peut être suffisant pour que le joueur en question ne joue pas de la journée, par flemme de débloquer le compte ou par peur car le compte est bloqué sans qu'il n'ai rien demandé), et là, bim, ce joueur qui n'a pas joué de la journée se fait massacrer dans le jeu par le "pirate".
Enfin, un système de liens par mail est une porte grande ouverte au phising, qui risque d'être un nouveau soucis...
Je préfère un principe du style "Après 3 tentatives, un captcha", et "une fois le captcha activé, chaque tentative sur un compte est séparé de X secondes de la précédente". Le captcha évite le bot, et pour "verrouiller" un compte, il faudrait que la personne pirate entre des mots de passe bidon en boucle (toutes les X secondes) de sorte que le blocage soit à chaque fois relancé pour X secondes... Ca semble un peu rébarbatif pour le pirate... Après, on peut bricoler un peu plus en mettant en place un système d'aléatoire qui va mettre en pause la page (coté serveur) de connexion pour une durée aléatoire: même si le pirate essaie de se connecter en boucle, du fait de cet aléatoire, le détenteur légitime du compte a encore des chances de passer et de pouvoir se connecter.
On peut aussi se baser sur l'IP pour savoir si la personne a fait 100 essais avec captcha ou 1 seul (s'il en a fait 100, pour cette IP, l'attente sera plus longue, alors que si c'est la 1ere tentative avec captcha, l'attente sera courte). Ainsi, le pirate devra changer son IP s'il veut bénéficier d'un nouveau "crédit" de temps. Or, cette opération prendra quelques secondes (je pense), et donc, le détenteur légitime du compte pourra tranquilement se connecter.
Bref, j'aime mieux ce système, peut-être avec une approche plus "probabiliste" que ta méthode, mais qui évite l'envoie de mails intempestifs et la "peur" qu'un utilisateur ressentira peut-être en voyant, dans sa boite, un mail "Quelqu'un a essayé de vous pirater votre compte de jeu" (mail qui sera surement phisé d'ailleurs).