自己动手做了一个实验,跨域的时候,确实是可以送出远方域名的 cookie 的:
首先在本地配两个域名,先修改 apache 的配置文件 httpd.conf ,加入:
NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> DocumentRoot "D:Documentscodewampwwwdm1" ServerName dm1.local </VirtualHost> <VirtualHost 127.0.0.1> DocumentRoot "D:Documentscodewampwwwdm2" ServerName dm2.local </VirtualHost>
然后还需要修改 hosts 文件,一般在 C:WindowsSystem32driversetc 加入:
127.0.0.1 dm1.local 127.0.0.1 dm2.local
然后构造两个域名下的文件,首先分别在各自的域名下设置一个 greeting 的字符串,即在 dm1 下准备好:
<?php setcookie("greeting", "hello1"); ?>
同样的在 dm2 下准备好:
<?php setcookie("greeting", "hello2"); ?>
分别访问一次,来写入 cookie ,然后在 dm1 下准备:
<?php $val = $_COOKIE["greeting"]; echo "alert('$val')";
在 dm2 下准备:
<script src="http://dm1.local/index.php"></script>
访问 dm2 下的文件,可以看到弹出了写在 dm1 域名下的 cookie:
Pingback: Apache 多虚拟主机 | ZRJ