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

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

WBOY
WBOYoriginal
2016-06-06 20:33:201179parcourir

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重新登陆。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn