Discussion:
limiter nombre tentative d'acces a un compte
(trop ancien pour répondre)
l***@unautresejour.fr
2007-03-01 21:14:45 UTC
Permalink
nj

je cherche un script ou methode afin de limiter le nombre de tentative
d'accès à un compte sur un CMS en php.

si tentative avec echec = 5 par exemple, alors blocage de cette IP
pendant 24h ... ou autre methode ...

merci
Eric
2007-03-02 14:24:13 UTC
Permalink
Post by l***@unautresejour.fr
si tentative avec echec = 5 par exemple, alors blocage de cette IP
pendant 24h ... ou autre methode ...
Mais la réponse est tellement visible dans ta question que je me
demande où se trouve le piège !

Méthode simple qui reprendrait tes spécifications : dans la ligne
utilisateur de la bdd, tu peux rajouter 2 colonnes : blocage
(timestamp) et nbechecs (int)

if (maintenant - blocage < 24h) {
jeterLeGars();
} else {
if (motdepasseok) {
nbechecs = 0;
acces();
} else {
nbechecs++;
if (nbechec == 5) blocage = maintenant;
}
}

Voilà.

Eric

PS : si tu veux voir si c'est la même IP qui a fait les erreurs, alors
là, ce sera plus dur, faut presque faire une table dédiée aux erreurs
de mot de passe qui comprend IP, timestamp, voire le compte auquel
l'IP a tenté d'accéder pour pouvoir prévenir son propriétaire.
Jerome Blion
2007-03-24 07:40:55 UTC
Permalink
Post by Eric
PS : si tu veux voir si c'est la même IP qui a fait les erreurs, alors
là, ce sera plus dur, faut presque faire une table dédiée aux erreurs
de mot de passe qui comprend IP, timestamp, voire le compte auquel
l'IP a tenté d'accéder pour pouvoir prévenir son propriétaire.
Bonsoir,

Je rebondis sur cette idée pour proposer quelque chose de plus
aggressif. Sachant que :
- un emmerdeur va essayer un ou plusieurs comptes
- en se voyant bloquer sur un compte, il va ptêtre en tenter un autre
- il va tenter d'autres manoeuvres plus ou moins foireuses

J'entrevois la possibilité suivante :
- logger toutes les erreurs de moins de 24h (donc à chaque insertion,
on purge, par exemple)
- à partir de 5 erreurs, on bloque l'IP, quel que soit le compte
- par blocage, on peut entrevoir la possibité d'entrer l'IP dans le
pare-feu !
- pour contrer l'utilisation de proxy, il faut vérifier l'IP du proxy,
mais aussi l'IP cachée derrière (HTTP_X_FORWARDED_FOR si ma mémoire ne
me fait pas défaut). Attention, certains proxies ne donnent pas cette
information, auquel cas le script peut devenir... méchant...
- Un cookie pour que l'assaillant ait à le nettoyer s'il s'amuse à
changer d'IP en permanence.
- Ouvre une session PHP dans laquelle tu la flagges comme indésirable
(pour gérer de manière efficace le pb s'il ne ferme pas son navigateur)
Continuer la lecture sur narkive:
Loading...