2013-07-08 57 views
0

嗨,这是我的第一篇文章。我正在开发一个具有公共用户注册和登录功能的网站项目。目前,我正在概念化整个项目的逻辑流程,并且目前停留在认证和安全部分。用Javascript检测缓解僵尸网络暴力攻击?

我已经使用Google,无法找到答案。我也搜索了sof,但努力也是徒劳的。 我想问的是非常具体。

从我在其他sof帖子看到的看来,为了减轻暴力攻击,ip禁止或在n次尝试登录之后的时间延迟是最好的解决方案之一。当然不会忘记白名单和黑名单和Captcha。当然,我已经计划实现上述技术。(也许不是验证码)

我的问题是,是否有可能检测启用或unabled JavaScript来阻止非法登录尝试的假设是机器人基地 - 网络或'黑客'不要使用JavaScript启用浏览器来做他们的'工作'?

例如,“如果JS禁用,阻止所述的‘渲染’登录 形式。//蛮力尝试检测

最后,这个假设是基座上的事实上,我的所有用户都将拥有支持js的浏览器,以便使用我的网站。

该方法将与其他缓解方法同时运行。

请指教。 谢谢!

回答

0

不可靠或有效。你不能真正相信来自客户端的任何东西。

任何你要求客户端在JavaScript中做的事情来证明JavaScript存在可以被模仿。强迫他们冒充他们会迫使他们变​​得更聪明并且花费更多的资源,这对你来说可能是一场胜利。

0

虽然u2702有一个好的观点,但我认为应该记住,仅仅因为解决方案并没有阻止所有的攻击者并不意味着它应该被放弃。事实上,我认为这是一个很好的方法来阻止绝大多数机器人。

要回答这个问题,您可以让所有潜在用户计算您使用加密安全随机函数生成的值的MD5值。假如没有JavaScript,这将会或多或少地不可能(据我所见)。

声明:此方法的实施将禁止Richard Stallman和使用您网站上NoScript的人员。

+0

MD5检查可能会造成更多的伤害。如果你要求客户计算一个MD5,你必须检查服务器端的MD5(需要资源)并跟踪你要求他们计算哪个MD5(这需要资源)。如果您保留服务器端数据库的客户端和MD5挑战,DDOS攻击可能会压倒你的数据库。如果你没有跟踪,你很容易受到重播攻击,他们会计算MD5一次并反复发送(当然,在服务器端你必须每次计算MD5)。 – u2702