溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么設置php中cookie作用域

發布時間:2020-07-28 09:58:12 來源:億速云 閱讀:246 作者:Leah 欄目:編程語言

怎么設置php中cookie作用域?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

在php中,可以使用setcookie()函數來設置cookie的作用域。語法為“setcookie(name,value,expire,path,domain,secure)”,可以通過設置domain參數的值來設置cookie作用域,

當我們給網站設置cookie時,大家有沒有發現在網站的其他域名下也接收到了這些cookie。這些沒用的cookie看似不占多少流量,但如果對一個日PV千萬的站點來說,那浪費的資源就不是一點點了。因此在設置cookie時,對它的作用域一定要設置準確了。

我們都知道在PHP中用setcookie 來設置網站的cookie,【相關教程】

該函數的用法如下:

setcookie(name,value,expire,path,domain,secure)

怎么設置php中cookie作用域

今天我們就來探討一下它的第五個參數domain,因為它決定了cookie的作用域。

現在有如下3個域名,一個頂級域名、一個二級域名和一個三級域名:

① zydya.com

②blog.zyday.com

③one.blog.zyday.com

  • 首先在①zyday.com域名下設置cookie,做四次測試,分別設置domain參數為空、'zyday.com'、'blog.zyday.com'與'one.blog.zyday.com'。

    √表示該域名下能取到cookie,×表示不能取到cookie

domain參數zydya.comblog.zyday.comone.blog.zyday.com
setcookie('name',1,time()+1)
setcookie('name',1,time()+1,'/','zyday.com')
setcookie('name',1,time()
+1,'/','blog.zyday.com')
× × ×
setcookie('name',1,time()
+1,'/','one.blog.zyday.com')
×××

當domain設置為空時,domain默認為當前域名,并且該域名下的子域名都可以接收到cookie。

但是domain參數設置其子域名時,所有域名就接收不到了,包括那個子域名。

  • 然后在②blog.zyday.com域名下設置cookie,測試條件同上

domain參數zydya.comblog.zyday.comone.blog.zyday.com
setcookie('name',1,time()
+1)
×
setcookie('name',1,time()+1,'/','zyday.com')
setcookie('name',1,time()+1,'/','blog.zyday.com')×
setcookie('name',1,time()+1,'/',one.blog.zyday.com')×××

看第二行,domain參數是zyday.com,是blog.zyday.com的父域名,那么zyday.com下所有子域名(包括zyday.com、blog.zyday.com、one.blog.zyday.com)都能接收到cookie。

當domain為自身域名時,那么其父域名不受影響,其本身與其子域名可以接收到cookie。
而設置其子域名或其他域名時,所有域名都接收不到cookie了。

  • 最后在③one.blog.zyday.com域名下設置cookie

domain參數zydya.comblog.zyday.comone.blog.zyday.com
setcookie('name',1,time()
+1)
××
setcookie('name',1,time()+1,'/','zyday.com')
setcookie('name',1,time()+1,'/','blog.zyday.com')×
setcookie('name',1,time()+1,'/',one.blog.zyday.com')××

第三個測試得出的結論在上面已經總結了。再看一遍,這里就不多解釋了。

domain的設置,有兩點要注意:

1.在setcookie中省略domain參數,那么domain默認為當前域名。

2.domain參數可以設置父域名以及自身,但不能設置其它域名,包括子域名,否則cookie不起作用。

那么cookie的作用域:

cookie的作用域是domain本身以及domain下的所有子域名。


看完上述內容,你們掌握怎么設置php中cookie作用域的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女