2011-01-24 91 views
2

任何人都可以让我知道术语“Account Lockout”吗?以及如何在PHP上实现它。以下信息是我从一个名为“ACUNETIX”的网站安全/审计工具中获得的。ACUNETIX - 登录页面密码猜测攻击 - 蛮力攻击和帐户锁定

说明

“的共同威胁,Web开发者面对的是被称为brute force attack密码猜测攻击。蛮力攻击是通过系统地尝试的字母每一个可能的组合,发现密码的尝试,数字和符号,直到你发现工作的一个正确的组合。

这个登录页面没有对密码猜测攻击任何保护(强力攻击)。有关解决此问题的更多信息,请Web引用。

影响

攻击者可能会试图通过系统地尝试的字母,数字和符号的每一个可能的组合,直到它发现工作的一个正确的组合,发现一个星期的密码。

建议

它的建议确定的不正确的密码尝试次数后实现某种类型的account lockout。”

回答

1

帐户锁定的密码策略 可用于锁定用户帐户 一旦一个账户被锁定,该 用户将不被允许通过 进行身份验证。

你可以看一下这个PHP例子

http://www.weberdev.com/get_example-1380.html

你需要在数据库保存用户多少次尝试和失败的登录,

3次后,你挡住用户从进入您的网站

1

的OpenID

SHOULD不是自己创建登录系统,而是使用OpenID(LightOpenID是一个非常好的用于php的openid库)。良好的openid提供商已经有相应的措施。

CAPTCHA

但如果你真的想自己做,以保护自己免受这是一种验证用户(无自动脚本)提交您的形式使用CAPTCHA的最简单的方法。在我看来,所有其他计划都可能存在缺陷。但是你也可以使用一些方案,让脚本在无效登录时进入睡眠状态(每次错误尝试都会增加它)。