cookie (儲存在用戶本地終端上的數據)
cookie 指某些網站為了辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端上的數據。cookie 在網絡系統中幾乎無處不在,當我們瀏覽以前訪問過的網站時,網頁中可能會出現 :你好 XXX。
1. 跨域問題:
cookie允許Web開發者保留他們的用戶的登錄狀態。但是當你的站點有一個以上的域名時就會出現問題了。在cookie規范上說,一個cookie只能用於一個域名,不能夠發給其它的域名。因此,如果在瀏覽器中對一個域名設置了一個cookie,這個cookie對於其它的域名將無效。
解決:
- 通過nginx反向代理
- jsonp方式請求
2. 設置了HTTP only:
如果在cookie中設置了"HttpOnly"屬性,那么通過程序(JS腳本、Applet等)將無法讀取到cookie信息,這樣能有效的防止XSS攻擊。
補充:
1. cookie的作用:
- 可以在客戶端上保存用戶數據,起到簡單的緩存和用戶身份識別等作用。
- 保存用戶的登陸狀態,用戶進行登陸,成功登陸后,服務器生成特定的cookie返回給客戶端,客戶端下次訪問該域名下的任何頁面,將該cookie的信息發送給服務器,服務器經過檢驗,來判斷用戶是否登陸。
- 記錄用戶的行為。
2. cookie弊端:
- 增加流量消耗,每次請求都需要帶上cookie信息。
- 安全性隱患,cookie使用明文傳輸。如果cookie被人攔截了,那人就可以取得所有的session信息。
- Cookie數量和長度的限制。每個domain最多只能有20條cookie,每個cookie長度不能超過4KB,否則會被截掉
本文參考鏈接:https://blog.csdn.net/zhang070514/article/details/74018769