鍍金池/ 問答/HTML5  Java  PHP  HTML/ 前端同學對于token安全的一些疑問

前端同學對于token安全的一些疑問

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

回答
編輯回答
賤人曾

CSRF(Cross Site Request Forgery, 跨站域請求偽造)就是使用類似的漏洞進行攻擊的。

攻擊實例

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

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

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

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

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

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

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

對于服務(wù)端來說token只是一個代號而已,一般來說后端會有鑒權(quán)的,也就是會對每一個接口數(shù)據(jù)進行一些校驗。

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

很容易怎么說?要不你現(xiàn)在來獲取我的賬號token?

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

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

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

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

2017年4月25日 22:50