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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

token:同樣是登錄后服務(wù)端返回一個(gè)token,客戶端保存起來(lái),在以后http請(qǐng)求里手動(dòng)的加入到請(qǐng)求頭里,服務(wù)端根據(jù)token 進(jìn)行身份的校驗(yàn)。瀏覽器不會(huì)自動(dòng)攜帶token。

CSRF 跨站點(diǎn)請(qǐng)求偽造:通過(guò)瀏覽器會(huì)自動(dòng)攜帶同域cookie的特點(diǎn)。cookie的傳遞流程是用戶在訪問(wèn)站點(diǎn)時(shí),服務(wù)器端生成cookie,發(fā)送給瀏覽器端儲(chǔ)存,當(dāng)下次再訪問(wèn)時(shí)瀏覽器會(huì)將該網(wǎng)站的cookie發(fā)回給服務(wù)器端

如果用戶登陸了A網(wǎng)站,拿到了cookie,又點(diǎn)擊了惡意的網(wǎng)站B。

B收到請(qǐng)求以后,返回一段攻擊代碼,并且發(fā)出一個(gè)請(qǐng)求給網(wǎng)站A。

瀏覽器會(huì)在用戶不知情的情況下,根據(jù)B的請(qǐng)求,帶著cookie訪問(wèn)A。

由于HTTP是無(wú)狀態(tài)的,A網(wǎng)站不知道這個(gè)請(qǐng)求其實(shí)是惡意網(wǎng)站B發(fā)出的,就會(huì)根據(jù)cookie來(lái)處理請(qǐng)求,從而執(zhí)行了攻擊代碼。

而瀏覽器不會(huì)自動(dòng)攜帶 token,所以不會(huì)劫持 token。

XSS:跨站腳本工攻擊是指通過(guò)存在安全漏洞的Web網(wǎng)站注冊(cè)用戶的瀏覽器內(nèi)運(yùn)行非法的HTML標(biāo)簽或者JavaScript進(jìn)行的一種攻擊

cookie和token都是不安全的

token和cookie的區(qū)別

HTTP協(xié)議本身是無(wú)狀態(tài)的,所以需要一個(gè)標(biāo)志來(lái)對(duì)用戶身份進(jìn)行驗(yàn)證

1、cookie

用戶登錄成功后,會(huì)在服務(wù)器存一個(gè)session,同時(shí)發(fā)送給客戶端一個(gè)cookie,這個(gè)cookie里面有唯一標(biāo)識(shí)該用戶的sessionID

數(shù)據(jù)需要客戶端和服務(wù)器同時(shí)存儲(chǔ)

用戶再進(jìn)行請(qǐng)求操作時(shí),需要帶上cookie,在服務(wù)器進(jìn)行驗(yàn)證

cookie是有狀態(tài)的

2、token

用戶進(jìn)行任何操作時(shí),都需要帶上一個(gè)token

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

這個(gè)token只需要存在客戶端,服務(wù)器在收到數(shù)據(jù)后,進(jìn)行解析

token是無(wú)狀態(tài)的

token相對(duì)cookie的優(yōu)勢(shì)

1、支持跨域訪問(wèn) ,將token置于請(qǐng)求頭中,而cookie是不支持跨域訪問(wèn)的;

2、無(wú)狀態(tài)化, 服務(wù)端無(wú)需存儲(chǔ)token ,只需要驗(yàn)證token信息是否正確即可,而session需要在服務(wù)端存儲(chǔ),一般是通過(guò)cookie中的sessionID在服務(wù)端查找對(duì)應(yīng)的session;

3、 無(wú)需綁定到一個(gè)特殊的身份驗(yàn)證 方案(傳統(tǒng)的用戶名密碼登陸),只需要生成的token是符合我們預(yù)期設(shè)定的即可;

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

5、 避免CSRF跨站偽造攻擊 ,還是因?yàn)椴灰蕾嘽ookie;

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。