cookie的path和domain參数实例解析

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

path表示cookie所在的文件夹

domain表示的是cookie所在的域,默觉得请求的地址

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

cookie的path和domain參数实例解析

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbTBzaDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

一.

我们在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/

结果:

cookie的path和domain參数实例解析

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

二.

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

cookie的path和domain參数实例解析

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

三.

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

cookie的path和domain參数实例解析

结果同(二)

四.

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

cookie的path和domain參数实例解析

结果同(二)

五.

改动 /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 结果:

cookie的path和domain參数实例解析

没有 t7 t8 证明上一级文件夹 不能获取到下一级文件夹设置的cookie

可是有个没弄明确的地方:

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

再看下 firefox

cookie的path和domain參数实例解析

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbTBzaDE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

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

cookie的path和domain參数实例解析

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



六.

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

cookie的path和domain參数实例解析

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



七.

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

cookie的path和domain參数实例解析

仅仅有 t2 t5 说明在 simeal.php.com 中为 域名 m0sh1.php.com 设置cookie 是不生效的,同一时候由于 cookie 设置的domain

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

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

能够在随意  *.php.com 域下获取到cookie信息

上一篇:cookie中的path与domain属性详解


下一篇:样式其他与JS脚本语言