偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Hostonly Cookie是什么鬼?

系統(tǒng) 瀏覽器
cookie與domian密切相關,如果cookie的domain屬性與你當前查看的頁面的domain相同,cookie被稱為第一方cookie;

[[434253]]

知道cookie hostonly屬性的請舉手??

01Cookie常見姿勢、疑難梳理

目前w3c定義瀏覽器存放每個cookie需要包含以下字段:

cookie屬性 基本描述 舉例 備注
name=value cookie鍵值對 id=a3fWa  
expires cookie過期時間 expires=Tue, 10-Jul-2013 08:30:18 GMT  
secure 指定通過https請求發(fā)送cookie   Restrict access to cookies
httponly 指示是否允許通過JavaScript Document.cookie API訪問cookie   Restrict access to cookies
domain 指定哪些主機可以接收cookie Domain=mozilla.org;   不設置則等于當前頁面domian Define where cookies are sent
path 指示哪些路徑的請求會攜帶cookie Path=/docs Define where cookies are sent
samesite 讓服務器指定是否允許跨站請求攜帶cookie SameSite=Lax Define where cookies are sent

cookie屬性之間用;連接;多個cookie設置,產(chǎn)生多次Set-Cookieheader

  1. HTTP/1.0 200 OK 
  2. Content-type: text/html 
  3. Set-Cookie: yummy_cookie=choco 
  4. Set-Cookie: X-BAT-FullTicketId=TGT-969171-******;domain=bat.com; path=/; samesite=none; httponly 
  5.  
  6. [page content] 

第一方cookie、第三方cookie:

cookie與domian密切相關,如果cookie的domain屬性與你當前查看的頁面的domain相同,cookie被稱為第一方cookie;

如果不同,則稱為第三方cookie, 第三方cookie通常用于廣告和用戶行為追蹤。

以上屬性決定了后續(xù)請求能否正常訪問cookie并攜帶cookie, 其中與cookie安全密切相關的三個屬性:

  • secure
  • httponly
  • samesite

這三個cookie屬性也是單點登錄、跨域訪問常遇到的阻礙的技術突破點。

02HostOnly cookie是什么鬼?

今天介紹一個不常見的cookie的屬性hostonly,但是也曾給碼甲哥造成了一點阻礙。

① 這是一個不可手動修改的cookie屬性,類似 Sec-Fetch-、 Origin標頭,都是瀏覽器自動判斷并賦值。

② 判斷邏輯:

  1. 如果domain-attribute非空:如果規(guī)范化之后的request-host不匹配domain-attribute   
  2. 中的域名,那么完全忽略掉cookie并且終止這些步驟;否則,將cookie的host-only-flag   
  3. 設定為false,并且將cookie的domain設定為domain-attribute。     
  4. 否則:將cookie的host-only-flag設定為true,并且將domain設定為規(guī)范化之后的request-host。 

03爬坑經(jīng)歷

我當時在做一個 單點登錄的時候,原意圖是: 設置cookie的domain屬性為父域名,向子域名請求時能自動攜帶cookie, 但事與愿違,子域服務器始終收不到cookie。

我堅信:

成熟的技術一定會有成熟的診斷姿勢!

成熟的技術一定會有成熟的診斷姿勢!

成熟的技術一定會有成熟的診斷姿勢!

Chrome瀏覽器開發(fā)者工具顯示:

疑點1:我的這個cookie在請求子域時被濾除了。

鼠標懸停黑色感嘆號,顯示我這是一個hostonly cookie, 這就奇怪了,這個cookie的domain值也是正常的,但是多了一個hostonly屬性。

疑點2:在原種植cookie的響應流Set-Cookie header,這個cookie的domain鍵值對消失了。

圍觀我設置Cookie的錯誤代碼:

結合hostonly的判斷邏輯, 我大概知道了。

大概就是我偷懶使用了單點登錄的回調(diào)地址'bat.com/home'作為domain屬性值,以為能自動解析出正常的domain。

實際上經(jīng)歷了【響應流中的Set-Cookie header 忽略cookie domain屬性】---> 【hostonly判斷邏輯】, 事情已經(jīng)失控了,解決問題的辦法也很明確,設置正確合法的domain屬性值,就不會出現(xiàn)后續(xù)的幺蛾子,上線驗證有效。

許久未更,見諒!碼甲哥其實有很多內(nèi)容想寫,來日方長,與子同程。

本文記錄了某web站點上線生產(chǎn)遇到的跨站點無法攜帶cookie問題,

 

  • 全面梳理了Cookie的疑難姿勢
  • 順勢引出了hostonly這個有點意思的cookie屬性
  • 希望本次的爬坑經(jīng)歷能給大家?guī)硪稽c幫助

 

責任編輯:武曉燕 來源: 精益碼農(nóng)
相關推薦

2015-11-12 10:03:34

前端H5web

2017-04-03 15:35:13

知識體系架構

2020-09-27 06:53:57

MavenCDNwrapper

2015-03-17 10:13:52

HTML5什么鬼

2021-07-06 10:17:07

Python LaunLinuxWindows

2019-10-30 10:13:15

區(qū)塊鏈技術支付寶

2020-11-04 13:01:38

FastThreadLocalJDK

2015-09-29 09:47:14

2022-01-12 12:35:36

Linuxworkqueue工作隊列

2019-01-07 12:40:19

2015-09-22 09:25:16

RTORPO災備技術

2021-01-07 05:22:47

MySQL字段存儲

2022-09-07 08:41:57

SpringIstio分布式

2015-07-16 10:49:31

虛擬化容器技術

2019-01-17 14:35:01

2018-01-16 08:47:23

2016-10-21 09:58:19

WindowsKMSOEM系統(tǒng)

2015-05-21 15:45:13

2022-03-15 10:38:14

數(shù)字孿生遠程醫(yī)療數(shù)字化

2017-07-04 08:36:37

云服務器ECS計算服務
點贊
收藏

51CTO技術棧公眾號