簡體   English   中英

如何知道 cookie 是否是 HttpOnly 服務器端

[英]How to know if a cookie is HttpOnly server side

我有一個使用 Spring Boot 的應用程序,我在其中設置了 HttpOnly cookie。 在瀏覽器中,我可以檢查它並看到它設置為 HttpOnly。 有了這個,我避免了客戶端在其上使用 javascript。

但是,在讀取 cookie 時我必須在服務器端做任何事情嗎? 據我所知,我不能使用 javascript 來讀取 cookie,但我仍然可以創建一個非 HttpOnly cookie,其名稱和值與 HttpOnly 相同,只需使用瀏覽器插件即可。 在服務器端,我不需要驗證 cookie 以及它是否是 HttpOnly 嗎?

我已經嘗試通過從請求中獲取 cookie 列表來做到這一點,但似乎所有這些都將不同的字段設置為默認值。 我可以讀取的唯一字段是 cookie 的名稱和值。

這是預期的行為嗎?

這確實是指定的行為。

Set-Cookie Header Set-Cookie諸如HttpOnly信息傳輸到客戶端。 但是從客戶端到服務器的調用使用Cookie標頭,它只包含 cookie 名稱和值(但沒有更多信息)。 因此,服務器無法單獨從Cookie標頭中獲取此信息。 它根本不存在。

這在RFC 6265“HTTP 狀態管理機制”的第 5.4 節“Cookie 標頭”中指定

   4.  Serialize the cookie-list into a cookie-string by processing each
       cookie in the cookie-list in order:

       1.  Output the cookie's name, the %x3D ("=") character, and the
           cookie's value.

       2.  If there is an unprocessed cookie in the cookie-list, output
           the characters %x3B and %x20 ("; ").

由於缺少信息,通常將其設置為默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM