国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:107日期: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
主站蜘蛛池模板: 亚洲aa| 免费一区二区三区在线视频 | 国产一区二区日韩欧美在线 | 美女被躁爽死 | 色久网站| 国产三区二区 | 伊人五月天婷婷琪琪综合 | 毛片在线视频 | 久久精品免费i 国产 | 视频二区在线 | 免费观看日本高清a毛片 | 狠狠色狠狠综合久久 | 欧美日韩一区二区综合在线视频 | 国产在线步兵一区二区三区 | 欧美一欧美一级毛片 | 久久香蕉国产观看猫咪3atv | 国产色视频一区二区三区 | 日本在线观看免费视频网址 | 国产一区二区三区在线免费观看 | 日本一级在线播放线观看视频 | 国产一级真人毛爱做毛片 | 人人99| 久久成年片色大黄全免费网站 | 国产欧美日本在线 | 男人操美女网站 | 日韩成人在线播放 | 欧美一级成人免费大片 | 亚洲无吗| 久久高清一级毛片 | 酒色影院| 1级黄色毛片| 久久综合精品国产一区二区三区无 | 色网址在线 | 亚洲片在线观看 | 日韩午夜在线视频不卡片 | 日本免费高清视频二区 | 久久久久毛片成人精品 | 亚洲成a人片在线观看中 | 国内精品伊人久久久影视 | 国产一区二区在线视频播放 | 亚洲欧洲日产国产 最新 |