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

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

WBOY
WBOYOriginal
2016-06-06 20:33:201179browse

rt,为什么?

回复内容:

rt,为什么?

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

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

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

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

清除cookie后 session_id就没有了~

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

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn