为了账号安全,请及时绑定邮箱和手机立即绑定

图片验证码的安全问题

图片验证码的安全问题

MMMHUHU 2018-11-01 01:02:49
网上看了一些图片验证码的例子,发现其中的处理过程会把验证码保存到session中,以便其后的验证session不是由cookie实现的吗?读一下cookie不是就知道验证码了?请问这样安全吗?
查看完整描述

2 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

Session是基于服务器端的,但是原理是由cookie实现的,如果是session,那服务器会发送一个唯一标识符给客户端cookie,但是服务器端会有个类似hashtable的全局变量,以键值对的形式存储在服务器端内存里。

如果是完全基于的cookie实现,那么在服务器端就不会有任何的存储。

验证码的实现安全级别最高的实施办法是使用session实现,只是在客户端发送一个cookie(验证码上数字加密后的字符串),但是服务器端对应的session内存储没加密的值,这样,在每次提交验证的时候,将服务器端的没加密的字符串在使用MD5加密后再与cookie字符串匹配,匹配成功即为正确,否则验证错误。

这个方案的漏洞在于只要用户截取一个cookie,然后模拟,只要在服务器端不重启(不丢失session)的情况下,就可以实现spam。

最好的方式是在cookie里面再加上时间,只要过了这段时间,验证码就失效

当然验证码还有问题,当在同一浏览器里同时打开两个含有验证码的页面,那么你再回到前一个打开的页面,验证码被后一个冲刷,这样用户的验证码也不正确。


查看完整回答
反对 回复 2018-11-01
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

session是session

cookie是cookie

估计你的这个图片验证码的原理是保存在SESSION里,应该和COOKIE没有关系


查看完整回答
反对 回复 2018-11-01
  • 2 回答
  • 0 关注
  • 663 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信