gan*_*jan 13 php passwords sleep brute-force password-protection
我已经设置了我的数据库来记录每次失败的登录尝试.我以为我会将失败的尝试次数乘以0.05秒或者其他东西.就像是:
time_nanosleep(0, (50000000 * $failed_attempts ) );
Run Code Online (Sandbox Code Playgroud)
黑客用来猜测密码的更多尝试,每次检查需要更多时间.检查100张密码后,他必须在每次尝试之间等待5秒.
这是阻止暴力破坏的好方法吗?我通过IP识别用户.所以我猜你可以通过使用多个代理服务器或其他东西来强制执行应用程序,但除此之外,我认为这是一个好主意.你们有什么感想?
怎么样的:
time_nanosleep(0, (10000000000 * (log($failed_attempts)^10)) );
Run Code Online (Sandbox Code Playgroud)
这将为您提供指数级增加的尝试窗口.
我看到的第一个问题是你正在处理一个机器人,它不关心响应之间是否存在延迟.除非您采取措施限制此操作,否则您将耗尽系统资源并可能导致延迟很长时间.只是在5次尝试失败后禁止IP.如果您担心禁止真实用户,这可能是暂时的禁令.