如何防止机器模拟请求
Token機(jī)制,防止頁面重復(fù)提交
業(yè)務(wù)要求:頁面的數(shù)據(jù)只能被點(diǎn)擊提交一次
發(fā)生原因:由于重復(fù)點(diǎn)擊或者網(wǎng)絡(luò)重發(fā),或者 nginx 重發(fā)等情況會導(dǎo)致數(shù)據(jù)被重復(fù)提交
解決辦法:
集群環(huán)境:采用 token 加 redis(redis 單線程的,處理需要排隊)
單 JVM 環(huán)境:采用 token 加 redis 或 token 加 jvm 內(nèi)存
處理流程:
?
數(shù)據(jù)提交前要向服務(wù)的申請 token,token 放到 redis 或 jvm 內(nèi)存,token 有效時間
提交后后臺校驗 token,同時刪除 token,生成新的 token 返回
token 特點(diǎn):要申請,一次有效性,可以限流
基于Token方式防止API接口冪等
客戶端每次在調(diào)用接口的時候,需要在請求頭中,傳遞令牌參數(shù),每次令牌只能用一次。
一旦使用之后,就會被刪除,這樣可以有效防止重復(fù)提交。
步驟:
1.生成令牌接口
2. 接口中獲取令牌驗證
防御CSRF攻擊手段
使用圖形驗證碼防止機(jī)器模擬接口請求攻擊,在調(diào)用核心業(yè)務(wù)接口時,比如支付、下單、等接口,最好使用手機(jī)短信驗證驗證或者是人臉識別,防止其他用戶使用Token偽造請求。
總結(jié)
以上是生活随笔為你收集整理的如何防止机器模拟请求的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是csrf攻击
- 下一篇: 忘记密码漏洞案例分析