redis验证码是现在网站的常见的安全验证形式,以防止网站被恶意帐号攻击。然而它看起来只有一层安全防护,入侵者如何绕过呢?
最常用的方法,就是无视redis验证码。比如,我们可以修改网站的源代码,忽略redis验证码检验,保存源代码,再次访问网站,就可以继续使用redis验证码之外的其他功能了。
其实如果用技术对redis验证码进行绕过,也是可以的。举个例子,在登录页面,如果redis验证码图片是固定的,入侵者可以使用一些自动化工具,模拟浏览器,进行代码解析和验证,发现redis验证码,进行无视,进而成功绕过它。
还有一个可行的方案就是在后端对redis验证码的验证逻辑加入进一步的限制,如果登录失败,只出发验证码检验等判定,而不是每次都进行验证码的检测,这样做的好处是可以大大减少恶意攻击的成功率,从而增加网站的安全性。比如下面的代码:
“`java
if(isLoginFled && verifyCode.length() > 0)
{ // 验证码验证
if(redisCode.length()>0 && !verifyCode.equals(redisCode))
{
response.sendRedirect(“/captchTest.html?captcha=”+redisCode);
return;
}
}
redis验证码是目前非常流行的一种验证形式,即使入侵者有技术能力,无视redis验证码,也应该加以重视,采取相关措施,对网站进行充分的安全保护。