例如:數據庫
例如:服務器
關鍵:cookie
(1)客戶端的請求參數上加一個請求時間timestampsession
原理:服務器獲取請求的timestamp,而後比較自身系統時間,若是相差超過設定時間就是超時,該請求無效加密
做用:就算第三方截取了該請求,它也只能在設定時間內進行重放攻擊blog
(2)客戶端的請求參數上加一個隨機字符串stringtoken
原理:服務端獲取請求的隨機字符串string,而後查看是否在設定時間內別的請求使用過該string,被使用過就斷定無效接口
做用:加上timestamp,就形成短期內一個請求只能使用一次,由於就算請求被攔截,它請求成功一次後,第二次複製重放時就由於隨機字符串被使用而被拒絕字符串
----------------------------------------之前的答案---------------------------------------------string
// 1.使用session驗證身份(查看id與session中id是否一致)
// 2.對id進行加密處理等(若是id被惡意修改,篡改者不知道加密方法則服務端可查證)
// 3.設置提交的間隔時間限制來防止重複提交
// 4.在session中設置提交標誌(每一次服務器將表單呈現給客戶端前設置一個標誌,而後客戶端提交表單時再驗證該標誌)