簡體   English   中英

為什么有些cookie無法從document.cookie獲得?

[英]Why some cookie cannot get from document.cookie?

我正在使用document.cookie去獲取網站的cookie值,但是它無法獲取所有cookie值。 示例會話cookie sid ,我可以在Google Chrome Cookie Manager中看到它,但無法通過javascript獲取價值。

我如何通過JavaScript設置cookie,但它不會顯示在document.cookie (仍然將這些值發送到請求標頭中的服務器)?

從github復制的答案: https : //github.com/expressjs/session/issues/274#issuecomment-185308426

您的cookie可能設置為httponly:true。 這是默認值。 如果您或其他未讀過此內容的人不知道,則可能沒有必要,並且將此值設置為false的錯誤決定。 搜索“ httponly cookie”,您會找到一些很好的解釋,說明為什么您不希望Javascript訪問cookie。

另外,請確保您嘗試訪問的cookie在您嘗試訪問該cookie的文檔的范圍內。

域和路徑指令定義cookie的范圍:應將cookie發送到哪些URL。

域指定允許主機接收cookie。 如果未指定,則默認為當前文檔位置的主機,不包括子域。 如果指定了域,則總是包含子域。

例如,如果設置了Domain = mozilla.org,則cookie會包含在子域中,例如developer.mozilla.org。

路徑表示在URL中必須存在的URL路徑才能發送Cookie標頭。 %x2F(“ /”)字符被視為目錄分隔符,並且子目錄也將匹配。

例如,如果設置了Path = / docs,則這些路徑將匹配:

/文檔

/文檔/網絡/

/文檔/網絡/ HTTP

來源: https : //developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Scope_of_cookies

暫無
暫無

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

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