日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别

發布時間:2025/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

cookie 和 token 都存放在 header 中,為什么不會劫持 token?

cookie:登錄后服務端生成的sessionid,并在http請求里返回到客戶端,同時服務端保存sessionid,以后客戶端的每次http請求都帶上cookie(sessionid),服務端會獲取cookie(sessionid)然后驗證用戶的身份。所以拿到cookie就拿到了sessionid,就可驗證通過。同時瀏覽器會自動攜帶cookie;

token:同樣是登錄后服務端返回一個token,客戶端保存起來,在以后http請求里手動的加入到請求頭里,服務端根據token 進行身份的校驗。瀏覽器不會自動攜帶token。

CSRF 跨站點請求偽造:通過瀏覽器會自動攜帶同域cookie的特點。cookie的傳遞流程是用戶在訪問站點時,服務器端生成cookie,發送給瀏覽器端儲存,當下次再訪問時瀏覽器會將該網站的cookie發回給服務器端

如果用戶登陸了A網站,拿到了cookie,又點擊了惡意的網站B。

B收到請求以后,返回一段攻擊代碼,并且發出一個請求給網站A。

瀏覽器會在用戶不知情的情況下,根據B的請求,帶著cookie訪問A。

由于HTTP是無狀態的,A網站不知道這個請求其實是惡意網站B發出的,就會根據cookie來處理請求,從而執行了攻擊代碼。

而瀏覽器不會自動攜帶 token,所以不會劫持 token。

XSS:跨站腳本工攻擊是指通過存在安全漏洞的Web網站注冊用戶的瀏覽器內運行非法的HTML標簽或者JavaScript進行的一種攻擊

cookie和token都是不安全的

token和cookie的區別

HTTP協議本身是無狀態的,所以需要一個標志來對用戶身份進行驗證

1、cookie

用戶登錄成功后,會在服務器存一個session,同時發送給客戶端一個cookie,這個cookie里面有唯一標識該用戶的sessionID

數據需要客戶端和服務器同時存儲

用戶再進行請求操作時,需要帶上cookie,在服務器進行驗證

cookie是有狀態的

2、token

用戶進行任何操作時,都需要帶上一個token

token的存在形式有很多種,header/requestbody/url 都可以

這個token只需要存在客戶端,服務器在收到數據后,進行解析

token是無狀態的

token相對cookie的優勢

1、支持跨域訪問 ,將token置于請求頭中,而cookie是不支持跨域訪問的;

2、無狀態化, 服務端無需存儲token ,只需要驗證token信息是否正確即可,而session需要在服務端存儲,一般是通過cookie中的sessionID在服務端查找對應的session;

3、 無需綁定到一個特殊的身份驗證 方案(傳統的用戶名密碼登陸),只需要生成的token是符合我們預期設定的即可;

4、 更適用于移動端 (Android,iOS,小程序等等),像這種原生平臺不支持cookie,比如說微信小程序,每一次請求都是一次會話,當然我們可以每次去手動為他添加cookie,詳情請查看博主另一篇博客;

5、 避免CSRF跨站偽造攻擊 ,還是因為不依賴cookie;

6、 非常適用于RESTful API ,這樣可以輕易與各種后端(java,.net,python…)相結合,去耦合

總結

以上是生活随笔為你收集整理的cookie 和 token 都存放在 header 中,为什么不会劫持 token?____token和cookie的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。