验证码安全
验证码安全是用于区别用户是计算机还是人的公共全自动化程序.
用于防止恶意破解密码,刷票,论坛灌水,还可防止黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试
验证码分类
gif动画验证码
手机短信验证码
手机语音验证码
视频验证码
验证码实现原理
1.客户端发起一个请求.
2.服务端响应并创建一个新的sessionID,同时生成一个随机验证码
3.服务端将验证码和sessionID同时生成一个随机验证码
4.客户端提交验证码和sessionID给服务端
5.服务端检验验证码同时摧毁当前会话,返回给客户端结果
客户端问题
1.客户端生成验证码
2.验证码输出与客户端
3.验证码输出在cookie中
服务端问题
1.验证码不过期,没有及时销毁会话导致验证码复用。
2.没有进行非空判断
3.产生的验证码问题集非常有限
其他方面
验证码太简单,容易被一些软件识别破解
修复建议
1.强制要求输入验证码,否则,必须实施IP策略,但须小心X-Forwarded-for
2.验证码只能使用一次,用完立即过期
3.验证码不能太弱