2012-05-27 38 views
5

$ .cookie未讀取之前由服務器響應設置的cookie。

我可以閱讀使用$ .cookie()設置的cookie。

我可以看到Firefox的Web Developer附加設置的所有域cookie。
此外,服務器端可以看到請求cookie,所以瀏覽器肯定有它們。

我已經嘗試過期時間無濟於事。

+0

如果您徹底比較cookie,該怎麼辦?如果他們的行爲不同 - 有一些差異 – zerkms

回答

6

的問題是,在服務器端與發送的HttpOnly餅乾設置如下所述:發送這樣http://en.wikipedia.org/w/index.php?title=HTTP_cookie#HttpOnly_cookie

Cookie不是直通的document.cookie訪問。這通常用於幫助保護cookie值免受您網站上可能發生的XSS攻擊。

編輯:您沒有提及您在服務器端使用哪種技術來設置Cookie。如果你正在使用PHP,這個鏈接列出了可能的途徑中HTTPOnly標誌可以設置:

https://www.owasp.org/index.php/HttpOnly#Using_PHP_to_set_HttpOnly

1

UPDATE:我錯在我原來的答覆(見下文)...頁進一步下跌的路徑樹可以讀取上層cookie,所以路徑不必完全匹配。留下我原來的答案,以防別人犯同樣的錯誤。我的問題是由我從JavaScript設置一個cookie,然後嘗試修改cookie服務器端造成的。服務器以路徑「/」爲目標的cookie,所以具有路徑「/ mypages」的cookie沒有改變。

$ .cookie只能讀取當前文檔路徑下的cookie,所以如果你的網頁是> mysite.com/mypages/mypage.aspx,服務器將設置路徑「/」設置cookie時, >但$ .cookie會嘗試從路徑「/ mypages」中讀取並且無法讀取cookie。我只是自己跑過這個問題。如果你沒有這種不同的路徑,那麼這可能不是你的問題。