首页 > 用php sesssion存储验证码,清空完本地浏览器cookie之后第一次刷新页面总是无法使用,必须再次刷新登录页面才行

用php sesssion存储验证码,清空完本地浏览器cookie之后第一次刷新页面总是无法使用,必须再次刷新登录页面才行

rt,为什么?


首先HTTP是无状态协议,既在协议层是无法记住你上次访问所产生的数据的。 为了增加对用户会话状态的管理才有的session和cookie。

而session会话管理依赖的是在客户端浏览器的cookie中存储sess_id, 那么在你访问该站点的页面的时候在HTTP请求头的cookie字段里会附着sess_id这个cookie值,服务器在接受到cookie里的sess_id后才能知道是哪个会话。


session->cookie->header 依次依赖 第一次刷新时没有结果,正常


清除cookie后 session_id就没有了~


因为session_id重新生成了,找不到了

解决办法,验证码存缓存里,键对应为用户id.


上面已经说的很清楚了,session的生成依赖着coodkie的创建,你把cookie清掉之后,服务器不知道你是谁了。这是很正常的事情,一般用户不会那么聪明,先删掉本地的cookie在操作你的web网站吧。如果着的是这样的,你就建议ta重新登陆。

【热门文章】
【热门文章】