暴力破解防范措施和措施总结



1.设计安全的验证码(安全的流程+复杂而又可用的图形)
在前端生成验证码后端能验证验证码的情况下,对验证码有效期和次数进行限制是非常有必要的,在当前的安全环境下,简单的图形已经无法保证安全了,所以我们需要设计出复杂而又可用的图形,这就是一门学问了,12358的安全验证码对此学问做的就非常好
在这里插入图片描述
在这里插入图片描述
这样复杂程度高 而用户又能简单识别的验证码就是安全的典范。
2.对认证错误的提交进行计数并给出限制,比如连续5次密码错误,锁定两小时,验证码用完后销毁,这个在上面提到过,能有效防止暴力破解,还有验证码的复杂程度。
3.必要的情况下,使用双因素认证。
token对防暴力破解的意义
在这里插入图片描述
token是在后端代码中的一组随机生成数,在每次登陆时,会有一组隐藏的随机数加在登录账号和密码上进行验证,从而增强安全性,但这个措施一定安全吗?

一般的做法:

  1. 将token以“type=‘hidden’ ”的形式输出在表单中;
  2. 在提交认证的时候一起提交,并在后台进行验证。
    在这里插入图片描述
    但我们在pikachu的前端代码中发现,token值被输出在了前端代码中,容易被获取,因此也就失去了放暴力破解的意义。
    这样的措施我们只需要写一个可以自动获取token生成值的脚本,就可以实现暴力破解。