热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cookie中path路径探讨

上篇文章中说:cookie必须在同一网站下且cookie的path路径为当前url或者是当前url的父级时才是共享的。具体怎

上篇文章中说:COOKIE必须在同一网站下且COOKIE的path路径为当前url或者是当前url的父级时才是共享的。
具体怎么理解呢?看下面解释

首页介绍下php中设置COOKIE的函数setCOOKIE()

setCOOKIE(name,value,expire,path,domain,secure)
COOKIE中path路径探讨
image

需要注意的且常用的有俩点

  • expire:可选。规定 COOKIE 的过期时间。time()+3600 将设置 COOKIE 的过期时间为1小时。如果这个参数没有设置,那么 COOKIE 将在 session结束后(即浏览器关闭时)自动失效。和我们上篇文章中说的一样:如果不设置过期时间的话,客户端中expire显示的是session。
  • path:可选。规定 COOKIE 的服务器路径。如果路径设置为 “/”,那么该COOKIE 将在整个域名内有效。如果路径设置为 “/test/”,那么 该COOKIE 将在 test 目录下及其所有子目录下有效,也就是/test和/test/aa目录下有效,也就是子目录能获取到父级目录的COOKIE,父级目录的COOKIE在子目录下共享。。默认的路径值是 COOKIE 所处的当前目录,但我测试默认的路径值是 COOKIE 所处目录的上级目录

做几个测试就知道了,主要测试以下几点

  • COOKIE不设置路径,默认path是当前目录还是当前目录的上级目录?
  • 如果某COOKIE路径设置为 “api/test”,那么在该目录下能够获取到在 /api/test ,/api和/目录内的COOKIE,这3目录下该COOKIE可以共享
  1. 写一个api,路由为 /api。

设置一个COOKIE变量a,以我们上面的预测,客户端的path应为 /

    public function test(){
        setCOOKIE('a',111);
        echo 1;
    }
  1. 浏览器访问该api

看到path为 /,也就是说在整个域名内任何path的COOKIE都应该能访问该COOKIE变量a

COOKIE中path路径探讨
image
  1. 在写一个api,路由为 /api/test/COOKIE

设置一个COOKIE变量b,以我们上面的预测,该COOKIE变量b的path应为/api/test,而且应该包含path为/api/test,/api和/的COOKIE变量,也就是包含我们上面设置的COOKIE变量a

    public function COOKIE(){
        setCOOKIE('b',222);
        echo 2;
    }
  1. 访问该api

发现path确实/api/test,证明我么的第一个观点,而发现能共享COOKIE变量a,也证明了我们的第二个观点。

COOKIE中path路径探讨
image
  1. 那么反向验证下,此时第一个api还是只能访问COOKIE变量a,而不能访问COOKIE变量b。发现证明是正确的

    COOKIE中path路径探讨
    image

推荐阅读
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 探讨了如何解决Ajax请求响应时间过长的问题。本文分析了一个从服务器获取少量数据的Ajax请求,尽管服务器已经对JSON响应进行了缓存,但实际响应时间仍然不稳定。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • c# – UWP:BrightnessOverride StartOverride逻辑 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有