cookie的path和domain参数实例解析

一句话概括两个参数含义各为:

path表示cookie所在的目录

domain表示的是cookie所在的域,默认为请求的地址

首先修改我们的 hosts 文件 我本机内网ip 192.168.1.162

一.

我们在web根目录下创建文件夹 cookietest 创建文件 index.php

<?php

setcookie('t1','t1',time()+3600,'/','simael.php.com');
setcookie('t2','t2',time()+3600,'/','php.com');
setcookie('t3','t3',time()+3600,'/','m0sh1.php.com');
setcookie('t4','t4',time()+3600,'/cookietest','simael.php.com');
setcookie('t5','t5',time()+3600,'/cookietest','php.com');
setcookie('t6','t6',time()+3600,'/cookietest','m0sh1.php.com');

echo __FILE__;  //  E:\wamp\www\cookietest\index.php
echo '<br>';

?>

访问 http://simael.php.com/cookietest/

结果:

没有 t3 t6 意味着 在域名 simael.php.com 下获取不到为 m0sh1.php.com 设置cookie 的

二.

访问 http://simael.php.com/ 结果:

没有 t4  t5 是因为设置 cookie时候设置了path的原因

三.

访问 http://simael.php.com/cookietest/index2.php 结果:

结果同(二)

四.

访问 http://simael.php.com/cookietest/test1/index.php  结果:

结果同(二)

五.

修改 /cookietest/index.php 代码

<?php

//setcookie('t1','t1',time()+3600,'/','simael.php.com');
//setcookie('t2','t2',time()+3600,'/','php.com');
//setcookie('t3','t3',time()+3600,'/','m0sh1.php.com');
//setcookie('t4','t4',time()+3600,'/cookietest','simael.php.com');
//setcookie('t5','t5',time()+3600,'/cookietest','php.com');
//setcookie('t6','t6',time()+3600,'/cookietest','m0sh1.php.com');
setcookie('t7','t7',time()+3600,'/cookietest/test1','simael.php.com');
setcookie('t8','t8',time()+3600,'/cookietest2/test1','simael.php.com');

echo __FILE__;
echo '<br>';

?>

访问 http://simael.php.com/cookietest/index.php 结果:

没有 t7 t8 证明上一级目录 不能获取到下一级目录设置的cookie

但是有个没弄明白的地方:

上面截图是 chorme 浏览器的效果

再看下 firefox

cookies 中有t7 报错是我打印 $_COOKIE[‘t7‘] 的结果 即获取不到t7 再看看控制台

可见也没有 t7 只有在 cookies 选项卡下可以看到 t7 但是是获取不到的(这个内容只是顺便提一下 - -!)

六.

访问 http://simael.php.com/cookietest/test1/index.php 结果:

这时候就看到了 t7 说明在上一级的index.php 中cookie设置生效了只不过只有在相应的path下才能获取到

七.

访问 http://m0sh1.php.com/cookietest/index2.php

只有 t2 t5 说明在 simeal.php.com 中为 域名 m0sh1.php.com 设置cookie 是不生效的,同时因为 cookie 设置的domain

使得在 这个域名下是获取不到 simeal域名下的cookie

但是能获取到 .php.com 域下的cookie 信息 即设置 cookie的 domain 为 php.com

可以在任意  *.php.com 域下获取到cookie信息

时间: 2024-08-02 16:55:44

cookie的path和domain参数实例解析的相关文章

理解cookie的path和domain属性

今天在做验证码时发现一个问题:A.B窗口都打开同一个页面,A先生成一个验证码,B再生成验证码,这时A所生成的验证码被B覆盖掉了.原因是使用了同名的cookie来存储验证码.一时找不到解决方法就参考了WebQQ的登录画面,发现tx也没有解决这个问题,也许是觉得这个不算是问题吧.但还是借这个机会再次了解一下cookie好了. 下面是在网上学习一番后得到的总结(如有纰漏请指正): 1.domain表示的是cookie所在的域,默认为请求的地址,如网址为www.test.com/test/test.as

copy一篇文章,主要看看 cookie 的 path 和 domain

Copy 过来的,转载,放在这里作为自己的一个收藏吧:) 什么是Cookies? 你会问,什么是cookies呢? cookie 是浏览器保存在用户计算机上的少量数据.它与特定的WEB页或WEB站点关联起来,自动地在WEB浏览器和WEB服务器之间传递. 比如,如果你运行的是Windows操作系统,使用Internet Explorer上网,那么你会发现在你的"Windows"目录下面有一个子目录,叫做"Temporary Internet Files".如果你有空看

理解cookie的path和domain属性(转)

今天在做验证码时发现一个问题:A.B窗口都打开同一个页面,A先生成一个验证码,B再生成验证码,这时A所生成的验证码被B覆盖掉了.原因是使用了同名的cookie来存储验证码.一时找不到解决方法就参考了WebQQ的登录画面,发现tx也没有解决这个问题,也许是觉得这个不算是问题吧.但还是借这个机会再次了解一下cookie好了. 下面是在网上学习一番后得到的总结(如有纰漏请指正): 1.domain表示的是cookie所在的域,默认为请求的地址,如网址为www.test.com/test/test.as

怎样正确的使用Cookie的Path详细解析

原文地址:http://java-zone.org/1052.html cookie 有路径--path,表示哪些路径下的文件有权限读取该 cookie. path 应该以 “/” 结尾,同名 cookie,不同 path,属不同的 cookie document.cookie = “N1=1; path=/path/”;document.cookie = “N1=2; path=/path”;document.cookie = “N1=3; path=path/”; 如上代码,前两句相对于站点

exec函数族实例解析

fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间.堆.栈等资源的副本.注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间.linux将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间.),也就是这两个进程做完全相同的事. 在fork后的子进程中使用exec函数族,可以装入和运行其它程序(子进程替换原有进程,和父进程做不同的事). fork创建一个新的进程就产生了一个新的PID,e

JavaWeb实现文件上传下载功能实例解析

转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件

JavaWeb实现文件上传下载功能实例解析 (好用)

转: 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上

Kotlin DSL for HTML实例解析

Kotlin DSL for HTML实例解析 Kotlin DSL, 指用Kotlin写的Domain Specific Language. 本文通过解析官方的Kotlin DSL写html的例子, 来说明Kotlin DSL是什么. 首先是一些基础知识, 包括什么是DSL, 实现DSL利用了那些Kotlin的语法, 常用的情形和流行的库. 对html实例的解析, 没有一冲上来就展示正确答案, 而是按照分析需求, 设计, 和实现细化的步骤来逐步让解决方案变得明朗清晰. 理论基础 DSL: 领域

基于Android2.3.5系统:JNI与HAL实例解析[一]

*************************************************************************************************************************** 作者:EasyWave                                                                                                           时间:2015.