>백엔드 개발 >PHP 튜토리얼 >session - 用php sesssion存储验证码,清空完本地浏览器cookie之后第一次刷新页面总是无法使用,必须再次刷新登录页面才行

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

WBOY
WBOY원래의
2016-06-06 20:33:201179검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.