php中获取不到cookie的解决方法

后端开发   发布日期:2023年06月05日   浏览次数:200

这期内容当中小编将会给大家带来有关php中获取不到cookie的解决方法,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

setcookie()的默认路径是当前目录下,如果其他目录要访问这个Cookie是访问不到的

如果该参数设为 '/' 的话,cookie 就在整个 domain 内有效

如果设为 '/foo/',cookie 就只在 domain 下的 /foo/ 目录及其子目录内有效

例如 /foo/bar/。默认值为设定 cookie 的当前目录。

只需要更改路径就可以了
setcookie("viewlist",1,time()+3600*24*365,'/');

补充知识:

cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。由于“Cookie”具有可以保存在客户机上的神奇特性, 因此它可以帮助我们实现记录用户个人信息的功能, 而这一切都不必使用复杂的CGI等程序。

cookie 认证机制

在 Web认证中 ,因为HTTP协议本身的局限,必须采用其他技术将相关认证标记以某种方式持续传送,以免客户从一个页面跳转至另一个页面时重新输入认证信息 [5] 。基于Cookie的认证过程,主要由以下三个阶段组成:
(1)发布Cookie。当用户试图访问某Web站点中需要认证的资源时,Web服务器会检查用户是否提供了认证Cookie,如果没有,则将用户重定向到登录页面。在用户成功登录后,Web服务器会产生认证Cookie,并通过HTTP响应中的Set-Cookie头发送给客户端,用于对用户随后的请求进行检查和验证,接着将用户重定向到初始请求的资源。
(2)检索Cookie。在用户随后的访问请求中,客户端浏览器检索Path和Domain等属性与用户请求资源相匹配的Cookie,并将找到的Cookie通过HTTP请求中的Cookie头提交给Web服务器。
(3)验证CookieWeb服务器提取客户端浏览器递交的Cookie,验证其中的访问令牌。若合法,则将访问请求的资源发送给客户端浏览器;反之则拒绝用户的访问请求。Cookie 认证技术简化了用户访问 Web 网站资源的过程,即用户只需在初次登录网站时输入身份信息进行认证,随后便可以访问被授权的所有站点资源,不再需要重复手工提交身份信息。

以上就是php中获取不到cookie的解决方法的详细内容,更多关于php中获取不到cookie的解决方法的资料请关注九品源码其它相关文章!