目的是防止(尽可能)暴力攻击。
一种解决方案php (),但它使用了大量的服务器资源(例如,这里的http://bytes.com/topic/php/answers/745681-how-does-sleep-work)。
其他解决方案,在mysql中记录登录次数,在第二次或第三次登录失败后,回显和验证captcha之后,在5-6个失败登录之后设置一些timelimit (如何没有睡眠()).问题是:这样的方法会不会减少系统资源?
请建议一些好的方法来防止蛮力障碍.可能是在一些失败的登录尝试试图重定向某个地方,或者显示一些不同的内容之后.?
发布于 2013-02-16 14:08:34
您的问题"Prevention against bruteforce"
是极具争议性和技术性的。
我同意使用sleep()
来预防暴力不是一个好的选择。但是,对野蛮人的防弹保护是不可能的。是的,我们能做的就是让它尽可能的困难。
我的算法
1) 3登录尝试。如果用户登录-很好,否则第二步。第一次捕获是在这里的第一步。在进一步导航之前,您必须记录所有尝试并对其进行计数。在步骤2中也是如此。
( 2) 3种验证法。如果用户登录-好,否则第3步。
3)在区块列表中添加用户名,并在特定的时间限制后将其删除。当然,这个添加和删除它将使用一些额外的资源,肯定会增加一些复杂的实现。
4)每当任何用户尝试登录时,首先检查该用户名是否在区块列表中。如果它不在块列表中,步骤1。如果它在块列表中,只需显示一条消息。
但是,让我简单地说,为了建立一个能够真正的抵抗蛮力的系统,你必须研究关于蛮力的细节和方法。这不是小菜一碟。不要指望在任何地方或任何地方都能得到一个完整的答案。
我也想从其他人那里读到他们的想法。
https://stackoverflow.com/questions/14911002
复制相似问题