我正在GAE環境中創建一個Web應用程序。它大量使用AJAX/JSON來發送/接收數據以及所有相關信息。我不擔心JS禁用和過時的瀏覽器的瀏覽器,因爲它是我的個人項目,我試圖使它簡單,不會在代碼中臃腫。所以,我在項目中大量使用JavaScript。請告訴我如何在這種情況下更好地管理Cookie和會話。我有兩種變體 - 儘可能使用HTTP Set-Cookie,不使用JavaScript。第二個是相反的 - 儘可能使用JavaScript。兩種變體現在都可以正常工作,但我想讓它正確。在JavaScript需要設置cookie的情況下,我通過AJAX獲取一些數據,然後使用jQuery插件將這些鍵設置爲cookie,反之亦然,使用JS讀取cookie並通過AJAX發送它們。這兩種方法的優缺點是什麼?謝謝!如何管理cookie - 使用JavaScript或使用HTTP Set-Cookie?
2
A
回答
3
您應該在最方便的地方設置您的Cookie。
這可能意味着一些cookie將來自服務器,一些來自客戶端。
但是,請注意,出於安全原因,高風險cookie(例如登錄令牌)應該僅限HTTP,以便它們不能從Javascript訪問。
(不用說,他們應該是純SSL)
1
餅乾總是與HTTP標頭捆綁的,所以在通過JavaScript讀取,並通過AJAX向他們發送到服務器中沒有「改善」。
例如,與顯示相關的設置(如字體大小或網站語言)通常只與客戶端相關,因此我只是簡單地使用JavaScript來設置和檢索這些Cookie。
像會話ID這樣的東西無論如何都需要服務器端的工作,所以通過HTTP Set-Cookie維護cookie似乎是最直接的方式。
0
當您使用標頭設置cookie時,您可以選擇僅設置HTTP(即無JavaScript訪問)和僅限SSL。
啓用這些選項可以避免應用程序中存在大量安全漏洞(請注意,設置http only標誌只會阻止javascript讀取cookie - 它仍將在Ajax請求中呈現)。
相關問題
- 1. 如何管理使用JavaScript的多個cookie相同的url
- 2. 使用javascript或Express.js或node.js處理Cookie?
- 3. 如何使用Jsoup管理cookie?
- 4. 使用cUrl管理cookie
- 5. 如何使用jquery(或JavaScript)迭代cookie?
- 6. 如何在Android和/或Java中使用HttpClient管理Cookie?
- 7. 如何使用PHP或刪除的cookie僅Http JS
- 8. 如何使用HttpClient管理cookie時使用嘲弄HttpMessageHandler
- 9. 如何使用javascript檢索codeigniter的cookie?
- 10. 如何使用cookie,JQuery,Javascript?
- 11. 無法使用HTTP Cookie管理器運行jmeter腳本
- 12. 管理iPhone上的HTTP Cookie
- 13. asp.net中的用戶管理而不使用cookie或會話
- 14. 使用javascript設置cookie「currenttime」
- 15. 將cookie存儲在使用javascript的數組中(或使用cookie作爲數組)
- 16. setcookie不刪除cookie
- 17. Cef Cookie管理器SetCookie總是返回false
- 18. 使用cookie管理器問題的Jmeter
- 19. PHP Cookie管理
- 20. 使用JavaScript管理內存
- 21. 如何使用JavaScript啓用Cookie?
- 22. Cookie setcookie不反映
- 23. 以編程方式使用C返回Javascript管理的Cookie#
- 24. Scrapy使用完整的webkit管理會話cookie javascript執行
- 25. 使用Cookie禁用JavaScript功能
- 26. 使用Python的Cookie和HTTP
- 27. 在scalaj-http中使用cookie
- 28. 如何管理使用C
- 29. 如何管理使用TTL
- 30. 如何使用JavaScript設置的Cookie在Internet Explorer
爲什麼這會降低投票率? – SLaks 2011-03-10 15:13:07