鍍金池/ 問(wèn)答/HTML5  Java  PHP  HTML/ 前端同學(xué)對(duì)于token安全的一些疑問(wèn)

前端同學(xué)對(duì)于token安全的一些疑問(wèn)

前端在用戶(hù)登錄后獲得后端傳來(lái)的token儲(chǔ)存在本地(localStrong、cookie或者內(nèi)存中)
假設(shè)A獲得B的token,那調(diào)取接口時(shí)A帶上B的token不就可以冒充B了,是這樣嗎?

回答
編輯回答
賤人曾

CSRF(Cross Site Request Forgery, 跨站域請(qǐng)求偽造)就是使用類(lèi)似的漏洞進(jìn)行攻擊的。

攻擊實(shí)例

  1. 用戶(hù)A使用瀏覽器b訪問(wèn)網(wǎng)站w1,w1跟b建立會(huì)話(huà)s
  2. A點(diǎn)擊w2,w2會(huì)在A沒(méi)有感知的情況下利用s向w1發(fā)送請(qǐng)求r
  3. 請(qǐng)求r可以是刪除A在w1上的資料、轉(zhuǎn)移A在w1上的虛擬資產(chǎn)
2017年8月17日 04:58
編輯回答
旖襯

token就相當(dāng)于你瀏覽器當(dāng)前會(huì)話(huà)的身份證哈,token一般是有過(guò)期時(shí)間的,一般來(lái)說(shuō)是半個(gè)小時(shí),如果你的身份證被盜了,半小時(shí)內(nèi)確實(shí)是可以偽裝成你去請(qǐng)求A網(wǎng)站的。不過(guò)一般能盜你token也挺難的。

2018年4月12日 15:39
編輯回答
使勁操

僅以單頁(yè)應(yīng)用為例:
先使用用戶(hù)名、密碼、驗(yàn)證碼等進(jìn)入授權(quán)URL獲取token,獲取到token之后跟后臺(tái)建立連接繼而可以獲取數(shù)據(jù)

  1. 一般來(lái)說(shuō)此token是不會(huì)往cookie以及l(fā)ocalStorage等地方存儲(chǔ)的,僅僅放在全局變量中,這時(shí)候你換賬號(hào)登錄就沒(méi)辦法獲取到了,僅僅限于當(dāng)前頁(yè)面且在不刷新的情況下使用;
  2. 如果將token存儲(chǔ)在可見(jiàn)區(qū)域如localStorage,那么是以什么目的呢?記住用戶(hù)名與密碼這種? A登錄的時(shí)候后臺(tái)僅僅驗(yàn)證token的話(huà),那確實(shí)是可以登錄的,網(wǎng)站對(duì)安全性沒(méi)有要求其實(shí)無(wú)所謂。如果網(wǎng)站要求高,你的token就不能存儲(chǔ)成明文了,需要手動(dòng)加密解密
2017年3月24日 02:28
編輯回答
巫婆

別人能拿到你的token,的確可以偽裝你登錄,但是你能拿的到別人的token那就是個(gè)問(wèn)題,要不就是熟人作案,要不就是你的電腦滿(mǎn)身是毒了。

2018年3月18日 12:36
編輯回答
初心

對(duì)于服務(wù)端來(lái)說(shuō)token只是一個(gè)代號(hào)而已,一般來(lái)說(shuō)后端會(huì)有鑒權(quán)的,也就是會(huì)對(duì)每一個(gè)接口數(shù)據(jù)進(jìn)行一些校驗(yàn)。

2017年5月13日 17:48
編輯回答
悶騷型

很容易怎么說(shuō)?要不你現(xiàn)在來(lái)獲取我的賬號(hào)token?

2018年9月16日 21:03
編輯回答
壞脾滊

是的 就算是session機(jī)制 你也只要把B的session_id帶上 就能冒充B

2017年2月28日 23:09
編輯回答
情已空

是這樣啊,拿到了token確實(shí)可以請(qǐng)求啊。但是一般都有時(shí)效性,一定時(shí)間內(nèi)能用;還有有些公司人家會(huì)驗(yàn)證是否常用IP請(qǐng)求啊 這些來(lái)達(dá)到驗(yàn)證的目的;就假設(shè)我給你token了,但是token里面我有IP加密的,你換個(gè)地方去登錄就登不了啊

2017年4月25日 22:50