使用bcrypt登录表单sleep()

时间:2016-04-20 19:38:48

标签: php security login

如果bcrypt使用password_hash($password, PASSWORD_DEFAULT)['cost' => 12]

存储密码,那么使用sleep()来阻止暴力攻击是否有任何意义?

登录表单使用标准password_verify

if (!password_verify($password, $check_password)) {

我注意到将成本增加到16会显着增加提交时的登录时间。它是否与sleep()的工作方式相同,如果是这样,它是否可以被DOS用于服务器?

1 个答案:

答案 0 :(得分:7)

成本因素旨在阻止离线强力攻击(即,某人从数据库中获取哈希值)。对于实际的在线暴力攻击,Bcrypt已经太慢了。例外:如果您的密码是10,000 most common之一,那么猜测是微不足道的。您想要的不是增加成本因素​​,而是关注rate limiting your login attempts