總結一下頂級域名和子級域名之間的cookie共享和相互修改、刪除
最近專案中剛好涉及到了主域名和子域名之間的共享和相互修改、刪除,也就藉此機會總結一下常用的幾個場景,這裡程式碼以PHP
為例來說明,域名的話就拿頂級域名和二級域名為例,其他的場景都是類似哈!
設定COOKIE
頂級域名
頂級域名只能設定domain
為頂級域名,不能設定為二級域名或者三級域名等等,否則cookie
無法生成。
如
yangbai.com
能設定domain
為yangbai.com
或者www.yangbai.com
,但不能設定domain
為login.yangbai.com
,這樣cookie
不會生成。
以下面的程式碼為例:
setcookie("name1", "yangbai" , time() + 1000);//yangbai.com自己可以看到
setcookie("name2", "yangbai", time() + 1000, "/", "www.yangbai.com");//*.www.yangbai.com都可以看到
setcookie("name3", "yangbai", time() + 1000, "/", "yangbai.com");//*.yangbai.com都可以看到
setcookie("name4", "yangbai", time() + 1000, "/", "login.youzan.com");//設定無效
設定
domain
的時候,.yangbai.com
和yangbai.com
是一樣的。
未指定domain
時,預設的domain
為用哪個域名訪問就是哪個。
執行後,www.yangbai.com
在瀏覽器的cookie
情況如下圖:
二級域名login.yangbai.com
和game.yangbai.com
瀏覽器的cookie
情況如下圖:
總的來說,頂級域名設定的cookie
可以共享【需要指定domain
主域名的host
】給二級域名,也可以自己私有【不指定domain
】。
二級域名
拿game.yangbai.com
為例,程式碼如下:
setcookie("game", "yangbai");//只有自己可以看到
setcookie("game1", "yangbai" , time() + 1000, "/", "yangbai.com");//*.yangbai.com都可以看到
setcookie("game2", "yangbai", time() + 1000, "/", "chip.game.yangbai.com");//設定無效
執行後,game.yangbai.com
在瀏覽器的cookie
情況如下圖:
總的來說,設定
cookie
的話只能在本域名下或者domain
級別高於自身的域名下才會生效!
讀取COOKIE
有了上面的例子和實踐,大概的規則如下:
-
二級域名能讀取設定了
domain
為頂級域名或者自身的cookie
,不能讀取其他二級域名domain
的cookie
。例如:要想cookie
在多個二級域名中共享,需要設定domain
為頂級域名,這樣就可以在所有二級域名裡面或者到這個cookie
的值了。 -
頂級域名只能獲取到
domain
設定為頂級域名的cookie
,domain
設定為其他子級域名的無法獲取。
修改COOKIE
頂級域名
頂級域名的cookie
在頂級域名或者非頂級域名【需要設定domain為頂級域名才可以】都可以修改。程式碼如下:
#為所有二級域名設定一個cookie
setcookie("name", "yangbai", time() + 1000, "/", "yangbai.com");
#在game.yangbai.com下面修改這個cookie值
setcookie("name", "yangbai11", time() + 1000, "/", "yangbai.com");
二級域名
修改二級域名自身生成的cookie
不需要設定domain
,直接設定即可。程式碼如下:
#修改game.yangbai.com下面自身的cookie值
setcookie("game", "chip", time() + 10000);
刪除COOKIE
刪除cookie理解為是修改cookie的一種特殊場景,只需將expire
設定為過期、值設定為null
即可,程式碼如下:
#刪除yangbai.com下面的cookie值
setcookie("name", null, time() - 1000, "/", "yangbai.com");
#刪除game.yangbai.com下面自身的cookie值
setcookie("game", null, time() - 1000);
最後,希望這些簡單地總結可以幫到你,大家加油!
相關推薦
總結一下頂級域名和子級域名之間的cookie共享和相互修改、刪除
最近專案中剛好涉及到了主域名和子域名之間的共享和相互修改、刪除,也就藉此機會總結一下常用的幾個場景,這裡程式碼以PHP為例來說明,域名的話就拿頂級域名和二級域名為例,其他的場景都是類似哈! 設定COOKIE 頂級域名 頂級域名只能設定domain為頂級域名,不能
頂級域名和子級域名之間的cookie共享
設定COOKIE 頂級域名 頂級域名只能設定domain為頂級域名,不能設定為二級域名或者三級域名等等,否則cookie無法生成。 如yangbai.com能設定domain為yangbai.com或者www.yangbai.com,但不能設定domain為logi
ztree實現checkbox樹形選單,並且父級節點不可選中(只有父級和子級選單);如何獲取選中子節點儲存到資料庫
1.使用ztree首先要匯入ztree的引入檔案(具體看自己需求,需要用ztree拓展功能的需要匯入拓展的js)、及樣式、圖片 注:ztree的樣式檔案必須和圖片檔案在同一級資料夾下 2.檔案引入之後,建立html頁面,樹形結構底層是套,如下圖所示即可
jquery獲取父級元素和子級元素
<script type="text/javascript"> function show(x){ var y=$(x);//轉換成jquery物件 //查詢父元素 alert( y.parent().attr("name"));
C#中父窗口和子窗口之間控件互操作實例
child title 成員 img dddddd idt 函數 通過 plugin 本文實例講述了C#中父窗口和子窗口之間控件互操作的方法。分享給大家供大家參考。具體分析如下: 很多人都苦惱於如何在子窗體中操作主窗體上的控件,或者在主窗體中操作子窗體上的控件。相比較而言
Java——超類和子類物件之間的轉換
繼承是Java中常用的一項特性,通過繼承我們可以省去很多麻煩。 而Java中超類和子類物件之間的轉換則是很多新手的常遇見的難題,要是處理不好,恐怕會因為這個很特殊的問題導致一些潛在的危險,讓你整整一個晚上都在除錯程式以解決一個讓人抓狂的java.lang.ArrayStoreException異
父類物件和子類物件之間可以相互轉換嗎
可以相互轉換。但是若父類物件想轉換為子類物件,父類物件一定是用子類物件初始化的。 那麼父類物件如何用子類物件初始化呢? 假設父類為A,子類為B,那麼用子類初始化程式碼為: A a=new B() 這就相當於我們用父類的控制代碼指向了子類的空間,如下圖所示:
什麼是VUE的父元件和子元件?那麼父元件和子元件又是怎麼傳值的呢?
有時候我們經常分不清什麼是父元件,什麼又是子元件。現在來簡單說下:我們將某段程式碼封裝成一個元件,而這個元件又在另一個元件中引入,而引入該封裝的元件的檔案叫做父元件,被引入的元件叫做子元件。以上是我個人的理解含義,那麼現在就直接上程式碼吧! 子元件: <templa
Java中父類和子類中的方法呼叫和引數傳遞探討
有這樣一段程式,看看它會輸出什麼結果 public class Test { public static void main(String [] args){ System.out.println(new B().getVa
Android之用Handler實現主執行緒和子執行緒互相通訊以及子執行緒和子執行緒之間的通訊
1、上程式碼 activity_main.xml檔案 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.
Linux中新增、修改、刪除使用者和使用者組
一、使用者: 在建立使用者時,需要為新建使用者指定一使用者組,如果不指定其使用者所屬的工作組,自動會生成一個與使用者名稱同名的工作組。建立使用者user1的時候指定其所屬工作組users,例:useradd –g users user1 1、使用命令 useradd 建立使用者 例:usera
淺談程序、執行緒和協程三者之間的區別和聯絡
一、程序、執行緒、協程 1,程序 經典定義:一個執行中程式的例項。系統中的每個程式都執行在某個程序的上下文中。(-摘自 CSAPP) 程序是系統資源分配的最小單位 2,執行緒(thread) 執行緒就是執行在程序上下文中的邏輯流。 執行緒是作業系統能夠進行運算排程的最小單位。 &
GIT版本回退、工作區和暫存區、管理修改、提交修改、撤銷修改、刪除檔案
git status命令可以讓我們時刻掌握倉庫當前的狀態。比如哪個檔案被修改過,並且是否提交過。 git diff具體檔名.字尾名命令可以檢視某個檔案修改前後的區別,顯示的格式正是Unix通用的diff格式。 版本回退: 版本回退是有條件的,就是你還沒有把自己的本地版本
2-STM32開發板(Cortex-M3)和exynos4412(Cortex-A9)之間的區別和聯絡
一、ARM的簡介——what?? part1:ARM代表什麼? 1)ARM是"Advanced RISC Machine"的縮寫,最早的ARM處理器誕生於80年代的英國,目前總部在英國劍橋 2)ARM公司自己並不生產或者銷售晶片,它採用技術授權模式,通過出
Redis主從複製和叢集配置系列之六(redis叢集節點新增、刪除、重新分配slot實戰)
下面操作都在同臺機子server1 192.168.1.198上操作2、檢視現有節點[[email protected] ~]# cd /usr/local/redis-3.0.6/src/[[email protected] src]# redis-c
使用配置和移植工具裡面的Database Configuration Assistant幫助建立、刪除資料庫
開始—oracle—-DataBase Configuration Assistant 可以使用DataBase Configuration Assistant來建立一個心得資料庫。Database Configuration Assistant簡稱是DBCA
mybatis級聯修改、刪除
#1使用者表 CREATE TABLE EASYBUY_USER( `eu_user_id` VARCHAR(10) PRIMARY KEY NOT NULL COMMENT '使用者名稱', `eu_password` VARCHAR(20) NOT NULL COMMEN
每天兩道oracle筆試題+第一天:1、解釋冷備份和熱備份的不同點及各自的優點?2、解釋歸檔和非歸檔模式之間的不同和它們各自的優缺點?
每天兩道oracle筆試題系列 第一天 不積跬步無以至千里 問題: 1、解釋冷備份和熱備份的不同點及各自的優點? 2、解釋歸檔和非歸檔模式之間的不同和它們各自的優缺點? ***************
在list集合中的新增、修改、刪除和遍歷元素
集合與陣列相似,但他的長度是可變的 list集合繼承了collection介面,list集合的實現類是ArrayList()。 如下: package com.test; import java.util.ArrayList; // import the ArrayL
Linux學習總結(三十四)lamp之用戶認證和域名跳轉
lamp 用戶認證 域名跳轉 訪問日誌 用戶認證 為了某些網站的安全需要,特意授權特定用戶訪問,因此產生了網站訪問的用戶認證機制。我們可以針對某個站點進行認證,也可以指定某個目錄,或者是一個文件。編輯虛擬主機配置文件:vim /usr/local/apache2.4/conf/extra/ht