我想阻止机器人从黑客弱的受密码保护的账户。(例如这happend到ebay和其他大网站)

因此,我将设置一个(mem-)缓存的价值与ip量的尝试和时间的最后一次尝试(缓存-秋)。

但是什么机器人试图打开的任何账户只有一个密码。例如,机器人会尝试所有500.000Useraccounts与密码"password123".也许10将打开。

所以,我尝试的是就缓存的知识产权与试图和设置最大尝试于-50.我将它删除后一个成功的登录。因此良好的机器人只会登录与一个有效的帐户每49试图重锁。

是否有任何方式这样做对吗?什么大的平台做这个?我能做些什么来防止白痴阻止所有用户上的代理与重新尝试的50倍?

如果没有最佳做法-这是不是意味着任何平台是暴forceable?至少有一个提示在当柜台复位?

有帮助吗?

解决方案

我认为你可以混合解决方案与验证码:

  1. 最多尝试的每IP
  2. 在情况有过多次尝试,从一定的IP地址在给定的时间内,增加一个 验证码 你登录的形式。

其他提示

一些网站会给你也许两个或三个尝试,他们开始做您与您的用户名/密码的同时输入验证码前。该验证码消失,一旦你成功登录。

虽然代码的重点是Django的存在对最佳实践方法的>。他使用memcached的跟踪IP地址和登录失败。

您可以使用密码强度检查当用户设置他们的密码,以确保他们不会使用容易野蛮强制密码。

编辑:只是要清楚,这不应该被看作是一个完整的解决方案,你要解决的问题,但它应与一些其他的答案被视为

您永远不会能够阻止一群机器人的来自许多不同的IP地址尝试这一点。

从相同的IP地址:如果你看到的“可疑”的行为(无效的用户名,或使用不正确的登录尝试几种有效的帐户),就挡住了几秒钟登录一个例子,我会说。如果它是一个合法的用户,他们不会介意等待几秒钟。如果它是一个机器人,这将慢下来到是不切实际的地步。如果您继续看到来自IP地址的行为,只是阻止他们 - 但离开了带外的门为合法用户(呼叫电话#X,或发送电子邮件地址)

请注意: IP地址可以数千甚至用户数百万之间共享!!!例如,大多数/所有的AOL用户显示为一个非常小的一组IP地址,由于AOL的网络架构。大多数ISP其庞大的用户基础映射到一个小集合的公共IP地址。

您不能假设一个IP地址仅属于单个用户。

您不能假定一个用户将仅使用一个IP地址。

检查以下问题讨论针对distibuted蛮力和字典攻击的最佳做法:

什么是最好的分布式蛮力对策?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top