我正在使用JSF 2.1 + PrimeFaces 2.2和Glassfish 3.1.2与基于表单的身份验证相结合来保护Web应用程序免遭未经授权的使用。
在上一次我看到很多尝试登录表单。其中大多数是无效的电子邮件密码组合,或我们数据库中的非现有电子邮件。但有些是成功的。
我认为攻击者有一个他尝试的邮件+密码列表。在我的LoginBean中,我使用定时器控制的访问,通过计算失败的登录失败次数并拒绝此浏览器会话的访问。这通常有效,但不适用于自动脚本。所以我决定在LoginForm中包含PrimeFaces提供的Captcha。但昨晚我想到了,如何绕过Captcha。这很简单。
转到浏览器控制台。型
jQuery('#recaptcha_widget_div').parent().remove()
这是Captcha组件的名称,验证码的div消失了。而现在又有可能对形式进行蛮力攻击。
所以我需要另一种方法来保护登录表单免受暴力攻击。有关最佳实践和示例的任何建议吗?
由于