首頁 >後端開發 >php教程 >cookie的path和domain參數實例解析

cookie的path和domain參數實例解析

WBOY
WBOY原創
2016-08-08 09:28:011571瀏覽

一句話概括兩個參數意義各為:

path表示cookie所在的目錄

domain表示的是cookie所在的網域,預設為請求的位址

首先修改我們的hosts 檔案我本機內網ip 192.168.1.162


一.

我們在web根目錄下建立資料夾cookietest 建立檔案index.php

<?php

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

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


?>
訪問http://sot7.com/cookietest
沒有t3 t6 意味著在域名simael.php.com 下取得不到為m0sh1.php.com 設定cookie 的
二.
訪問http://simael.php.com/ 結果:

沒有t4  t5 是因為設定cookie時候設定了path的原因

. .php.com/cookietest/index2.php 結果:


結果同(二)

四.

結果同(二)

四.

.php  結果:



結果同(二)

五.

修改/cookietest/index.php 程式碼

<?php

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

echo __FILE__;
echo &#39;<br>';

?>
結果訪問


沒有t7 t8 證明上一級目錄不能獲取到下一級目錄設定的cookie
但是有個沒弄清楚的地方:
上面截圖是chorme 瀏覽器的效果
下再看firefox
6
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資訊


以上就介紹了 cookie的path和domain參數實例解析,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn