热门标签 | 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

推荐阅读
  • 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]
  • 本文介绍了如何在 Node.js 中使用 `setDefaultEncoding` 方法为可写流设置默认编码,并提供了详细的语法说明和示例代码。 ... [详细]
  • 深入探讨Web页面中的锚点交互设计
    本文旨在分享Web前端开发中关于网页锚点效果的实现与优化技巧。随着Web技术的发展,越来越多的企业开始重视前端开发的质量和用户体验,而锚点功能作为提升用户浏览体验的重要手段之一,值得深入研究。 ... [详细]
  • 理解文档对象模型(DOM)
    本文介绍了文档对象模型(DOM)的基本概念,包括其作为HTML文档的节点树结构,以及如何通过JavaScript操作DOM来实现网页的动态交互。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 解决TensorFlow CPU版本安装中的依赖问题
    本文记录了在安装CPU版本的TensorFlow过程中遇到的依赖问题及解决方案,特别是numpy版本不匹配和动态链接库(DLL)错误。通过详细的步骤说明和专业建议,帮助读者顺利安装并使用TensorFlow。 ... [详细]
  • 12月16日JavaScript变量、函数、流程、循环等***线上九期班
    12月16日JavaScript变量、函数、流程、循环等***线上九期班 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 使用Nginx反向代理实现多域名端口映射
    本文介绍如何通过配置本地hosts文件和Nginx反向代理,实现多个虚拟域名的端口映射,使用户可以通过标准HTTP端口80访问不同后端服务。 ... [详细]
  • 探讨在PHP开发中,如何选择使用Cookie或数据库来优化网站性能,特别是在处理用户保存的搜索结果时。 ... [详细]
  • Python技巧:利用Cookie实现自动登录绕过验证码
    本文详细介绍了如何通过Python和Selenium库利用浏览器Cookie实现自动登录,从而绕过验证码验证。文章提供了具体的操作步骤,并附有代码示例,帮助读者理解和实践。 ... [详细]
  • 掌握Mosek矩阵运算,轻松应对优化挑战
    本篇文章继续深入探讨Mosek学习笔记系列,特别是矩阵运算部分,这对于优化问题的解决至关重要。通过本文,您将了解到如何高效地使用Mosek进行矩阵初始化、线性代数运算及约束域的设定。 ... [详细]
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社区 版权所有