午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

瀏覽:222日期: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
主站蜘蛛池模板: 国产一二三在线观看 | 亚洲女人天堂 | 新中文字幕 | 九九在线视频 | 日日摸日日干 | 男人插女人的逼 | 午夜视频在线观看免费视频 | 欧美精品国产 | 在线免费观看亚洲 | 色在线免费视频 | 激情五月婷婷综合 | 精品久久久在线观看 | 久草国产精品 | 成人久久久久 | 成人国产在线视频 | 天天躁日日躁狠狠躁 | 91网站免费观看 | 超碰碰碰 | 欧美大胆a视频 | 成人av在线影院 | 午夜黄色福利视频 | 欧美天堂在线 | 美女黄色一级视频 | 2020自拍偷拍 | 自拍色图| 天天干夜夜欢 | 天天操综合 | 超碰伊人网 | 久久久影视 | 欧美一区二区网站 | 日韩欧美视频一区 | 小罗莉极品一线天在线 | 波多野结衣一区二区三区四区 | 五月天激情国产综合婷婷婷 | 亚洲欧美综合在线观看 | 精品免费在线观看 | 国产成人在线免费观看视频 | 懂色av一区二区夜夜嗨 | 26uuu精品一区二区 | 亚洲第一免费播放区 | 超碰人操|