色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java - 在前后端分離的項目中,如何驗證前端請求數據是否合法

瀏覽:111日期:2024-02-18 10:49:19

問題描述

問題解答

回答1:

如果后端是分布式的話(比如云服務器),建議使用 oauth2.0中的token驗證方式,如果只是開發的話,可以用cookie。oauth登錄流程如下:

新建token表,字段 token,user_id,login_at,expire_at

用戶使用賬號密碼登錄

登錄成功則在數據表token插入一條記錄,并把該用戶之前所有token刪除或者設置為過期,并把token返回給前端

前端使用ajax的時候添加headerAuthorization=token

后端讀取請求頭中的Authorization,并與數據庫比對,如果存在且未過期,則視為合法用戶,否則返回錯誤

回答2:

1 用戶登錄一般就是cookie + session,服務器不是同一臺也一樣呀,其中一臺多一個請求轉發功能就好了,因為同源策略的限制,訪問另一個域名是不能帶上cookie的。

2 一般會在前端會有個摘要函數來生成數據的摘要,雖然隨數據post上去,然后后端用同樣的摘要函數生成post上來的數據的摘要,與post上來的摘要進行比對,如果一致就證明數據沒被修改過。但是用戶如果知道你用的摘要函數是什么它也可以自己生成數據的摘要post上去,所以其實理論上是沒法判斷的,但實際中普通用戶并不知道這些。

回答3:

JWT, json web token.

后端怎么判斷這個數據是否被更改? 什么意思? 后端db不是存了數據嗎?

回答4:

后端數據驗證,這個是前后端分離數據安全必須要做的。通常的做法就是做sign加密需要用到的是key和secret比如淘寶api的加密方式 淘寶sign

key為用戶標識,表名你是誰,secret代表你的鑰匙。鑰匙為服務端生成,只能在客戶端加密時使用,在數據傳輸過程中不能包含sercet信息。客戶端根據特定規則對所有請求數據進行加密后,后端獲取到所提交的數據在用同樣方式加密,然后對比sign參數是否一致,一致則說明數據在傳輸過程中未遭到篡改。另外還需要時間的時效性檢測比如timestamp參數,要求時間誤差不得超過前后5分鐘還有一點,數據重復請求,后端接收到sign后做個cache把sign存起來,失效時間5分鐘(和上面時間對應),同一個sign表示本次請求已經重復請求過,然后拒絕

基本上都是這個流程,保證數據安全,時效性,防重復等。

回答5:

sessionStorage或localStorage 保存后臺自己生成的特殊密碼。每次請求通過head帶上,通過后臺驗證數據合法

標簽: java
主站蜘蛛池模板: 粉嫩高中生的第一次在线观看 | 亚洲欧美在线看 | 不卡精品国产_亚洲人成在线 | 亚洲欧美在线综合一区二区三区 | 久久一级黄色片 | 久久成年人视频 | 久久综合久久综合九色 | 一级黄色毛片播放 | 亚洲二区在线观看 | 韩国三级大全久久网站 | 最新黄网 | 国产成人啪精品视频免费软件 | 99视频只有精品 | 国产精品秒播无毒不卡 | 成人中文字幕在线高清 | 性久久久久久久久 | 美女一级视频 | 成年人免费在线视频观看 | 99爱在线观看精品视频 | 久香草视频在线观看免费 | 高清视频 一区二区三区四区 | 国产精品久久久久三级 | 毛片大片| 成熟的女性强烈交性视频 | aaa在线观看高清免费 | 亚洲看片网站 | 国产小毛片| 亚洲视频手机在线观看 | 老司机亚洲精品影院 | 亚洲国产精品二区久久 | 国自产精品手机在线视频香蕉 | 永久精品免费影院在线观看网站 | 亚洲精品一 | 亚洲精品一区二区在线播放 | 真人毛片视频 | 日韩 国产 欧美 精品 在线 | 特毛片| 鲁一鲁色一色 | 怡红院最新免费全部视频 | 亚洲品质自拍网站 | 91香焦国产线观看看免费 |