我看到一些项目将验证码放入数据库。而一些放入session。不知道2个有什么区别。
我觉得放到session中就行,验证码每次刷新页面就重新生成。至于他们之间的区别,我就不太清楚了,可能是安全或者性能吧。
根据业务的实际情况吧。 比如使用手机验证码,你需要它的实效性是针对用户当前操作的,且时间为1小时或1天内的(比如是注册,用户只需要获取一次验证码,只要是在今天内还没有完成注册,不管用户是否重新发起发送验证码的功能,验证码都是用户第一次获得的验证码),肯定需要存储在数据库。这个时候如果使用session 就会出现很多问题。 如果是图片验证码,那肯定没有必要存到数据库。
用session一次校验就失效就行了,验证码时效性非常高。把验证码写入数据库的意义是什么?
放到session中,每次错误直接换掉,不入库