日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Hostonly cookie是什么鬼?

發布時間:2023/12/4 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hostonly cookie是什么鬼? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方藍字關注我們吧

知道cookie hostonly屬性的請舉手🧐

01

Cookie常見姿勢、疑難梳理

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

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

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

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

第一方cookie、第三方cookie:
cookie與domian密切相關,如果cookie的domain屬性與你當前查看的頁面的domain相同,cookie被稱為第一方cookie;
如果不同,則稱為第三方cookie, 第三方cookie通常用于廣告和用戶行為追蹤。

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

  • secure

  • httponly

  • samesite

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

?10分鐘掌握cookie全貌

[ASP.NET Core 3.1]瀏覽器嗅探解決部分瀏覽器丟失Cookie問題

02

HostOnly cookie是什么鬼?

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

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

② 判斷邏輯:

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

03

爬坑經歷

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

我堅信:

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

Chrome瀏覽器開發者工具顯示:

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

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


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

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

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

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

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


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

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

  • 全面梳理了Cookie的疑難姿勢

  • 順勢引出了hostonly這個有點意思的cookie屬性

  • 希望本次的爬坑經歷能給大家帶來一點幫助

●實時通信技術大亂斗

●SignalR 開發到生產部署閉坑指南

●SignalR在React/Go技術棧的實踐

●大前端快閃四:這次使用一個舒服的姿勢插入HttpClient攔截器

●大前端快閃三:多環境靈活配置react

●大前端快閃二:react開發模式 一鍵啟動多個服務

●大前端快閃:package.json文件知多少?

●難纏的布隆過濾器,這次終于通透了

原創不易,點“贊”“在看”

體現態度很有必要!

總結

以上是生活随笔為你收集整理的Hostonly cookie是什么鬼?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。