1.設置COOKIE1.1.一級域名
一級域名只能設置
domain爲一級域名,不能設置爲二級域名或者三級域名等等,否則
cookie無法生成。
如:
test.com能設置
domain爲
test.com或者
www.test.com,但不能設置
domain爲
login.test.com,這樣
cookie不會生成。
以下面的代碼爲例:
setcookie("name1", "
test", time() + 1000); //test.com自己可以看到
setcookie("name2", "test", time() + 1000, "/", "www.test.com"); //*.www.test.com都可以看到
setcookie("name3", "test", time() + 1000, "/", "test.com"); //*.test.com都可以看到
setcookie("name4", "test", time() + 1000, "/", "login.test.com"); //設置無效
注意:
設置
domain的時候,
.test.com和
test.com是一樣的。
未指定domain時,默認的domain爲用哪個域名訪問就是哪個。
執行後,就可以在www.
test.com瀏覽器下看到cookie情況。
總的來說,一級域名設置的
cookie可以共享【需要指定
domain主域名的
host】給二級域名,也可以自己私有【不指定
domain】。
1.2.二級域名
拿game.test.com爲例,代碼如下:
setcookie("game", "test"); //只有自己可以看到
setcookie("game1", "test", time() + 1000, "/", "test.com"); //*.yangbai.com都可以看到
setcookie("game2", "test", time() + 1000, "/", "chip.game.test.com"); //設置無效
執行後,就可以在game.
test.com瀏覽器下看到cookie情況。
總的來說,設置cookie的話只能在本域名下或者domain級別高於自身的域名下才會生效!
2.讀取COOKIE 有了上面的例子和實踐,大概的規則如下:
-
- 二級域名能讀取設置了domain爲一級域名或者自身的cookie,不能讀取其他二級域名domain的cookie。例如:要想cookie在多個二級域名中共享,需要設置domain爲一級域名,這樣就可以在所有二級域名裏面或者到這個cookie的值了。
- 一級域名只能獲取到domain設置爲一級域名的cookie,domain設置爲其他子級域名的無法獲取。
3.修改COOKIE3.1.一級域名
一級域名的cookie在一級域名或者非一級域名【需要設置domain爲一級域名纔可以】都可以修改。代碼如下:
#爲所有二級域名設置一個cookie
setcookie("name", "test", time() + 1000, "/", "test.com");
#在game.test.com下面修改這個cookie值
setcookie("name", "test123", time() + 1000, "/", "test.com");
3.2.二級域名
修改二級域名自身生成的
cookie不需要設置
domain,直接設置即可。代碼如下:
#修改game.test.com下面自身的cookie值
setcookie("game", "chip", time() + 10000);
4.刪除COOKIE 刪除
cookie理解爲是修改
cookie的一種特殊場景,只需將
expire設置爲過期、值設置爲
null即可,代碼如下:
#刪除test.com下面的cookie值
setcookie("name", null, time() - 1000, "/", "test.com");
#刪除game.test.com下面自身的cookie值
setcookie("game", null, time() - 1000);
5.總結對於Cookie在一級域名和子級域名間的操作基本如上所述,不同編程語言之間操作cookie的方式不同而已。