cookie:登錄后服務端生成的sessionid,并在http請求里返回到客戶端,同時服務端保存sessionid,以后客戶端的每次http請求都帶上cookie(sessionid),服務端會獲取cookie(sessionid)然后驗證用戶的身份。所以拿到cookie就拿到了sessionid,就可驗證通過。同時瀏覽器會自動攜帶cookie;
token:同樣是登錄后服務端返回一個token,客戶端保存起來,在以后http請求里手動的加入到請求頭里,服務端根據(jù)token 進行身份的校驗。瀏覽器不會自動攜帶token。
CSRF 跨站點請求偽造:通過瀏覽器會自動攜帶同域cookie的特點。cookie的傳遞流程是用戶在訪問站點時,服務器端生成cookie,發(fā)送給瀏覽器端儲存,當下次再訪問時瀏覽器會將該網(wǎng)站的cookie發(fā)回給服務器端
如果用戶登陸了A網(wǎng)站,拿到了cookie,又點擊了惡意的網(wǎng)站B。
B收到請求以后,返回一段攻擊代碼,并且發(fā)出一個請求給網(wǎng)站A。
瀏覽器會在用戶不知情的情況下,根據(jù)B的請求,帶著cookie訪問A。
由于HTTP是無狀態(tài)的,A網(wǎng)站不知道這個請求其實是惡意網(wǎng)站B發(fā)出的,就會根據(jù)cookie來處理請求,從而執(zhí)行了攻擊代碼。
而瀏覽器不會自動攜帶 token,所以不會劫持 token。
XSS:跨站腳本工攻擊是指通過存在安全漏洞的Web網(wǎng)站注冊用戶的瀏覽器內(nèi)運行非法的HTML標簽或者JavaScript進行的一種攻擊
cookie和token都是不安全的