<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Hostonly cookie是什么鬼?

          共 2423字,需瀏覽 5分鐘

           ·

          2021-11-13 03:59

          點擊上方藍字關(guān)注我們吧



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


          01

          Cookie常見姿勢、疑難梳理


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

          cookie屬性基本描述舉例備注
          name=valuecookie鍵值對id=a3fWa
          expirescookie過期時間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指定哪些主機可以接收cookieDomain=mozilla.org;? ?不設(shè)置則等于當(dāng)前頁面domianDefine where cookies are sent
          path指示哪些路徑的請求會攜帶cookiePath=/docsDefine where cookies are sent
          samesite讓服務(wù)器指定是否允許跨站請求攜帶cookieSameSite=LaxDefine where cookies are sent

          cookie屬性之間用;連接;多個cookie設(shè)置,產(chǎn)生多次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密切相關(guān),如果cookie的domain屬性與你當(dāng)前查看的頁面的domain相同,cookie被稱為第一方cookie;
          如果不同,則稱為第三方cookie, 第三方cookie通常用于廣告和用戶行為追蹤。

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

          • secure
          • httponly
          • samesite

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

          ?10分鐘掌握cookie全貌

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


          02

          HostOnly cookie是什么鬼?


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

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

          ② 判斷邏輯:

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


          03

          爬坑經(jīng)歷


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

          我堅信:

          成熟的技術(shù)一定會有成熟的診斷姿勢!
          成熟的技術(shù)一定會有成熟的診斷姿勢!
          成熟的技術(shù)一定會有成熟的診斷姿勢!

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

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

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


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

          圍觀我設(shè)置Cookie的錯誤代碼:

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

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

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


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

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

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

          實時通信技術(shù)大亂斗

          SignalR 開發(fā)到生產(chǎn)部署閉坑指南

          SignalR在React/Go技術(shù)棧的實踐

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

          ●大前端快閃三:多環(huán)境靈活配置react

          大前端快閃二:react開發(fā)模式 一鍵啟動多個服務(wù)

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

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

          原創(chuàng)不易,點“贊”“在看”

          體現(xiàn)態(tài)度很有必要!

          瀏覽 57
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久草手机视频在线 | 女人18毛片水真多免费 | 操逼高清视频 | 国产无码性爱视频 | 俺去啦新网 |