如何防止頁面重複提交

2022-01-30 02:32:19 字數 386 閱讀 7846

由於重複點選或者網路重發,或者nginx重發等情況會導致資料被重複提交 

解決辦法: 

集群環境:採用token加redis(redis單執行緒的,處理需要排隊) 

單jvm環境:採用token加redis或token加jvm記憶體 

處理流程: 

1. 資料提交前要向服務的申請token,token放到redis或jvm記憶體,token有效時間 

2. 提交後後台校驗token,同時刪除token,生成新的token返回 

token特點: 

要申請,一次有效性,可以限流 

注意:redis要用刪除操作來判斷token,刪除成功代表token校驗通過,如果用select+delete來校驗token,存在併發問題,不建議使用 

如何防止頁面重複提交

思路 重複提交有兩方面的含義,一是操作方面的重複提交,旨在說明乙個客戶端,一次只能傳送乙個請求到服務端,如果發出後未收到服務端響應,再次提交,則視為無效提交 重複了 二是業務方面,同乙個表單,服務端處理了兩次,兩次都是合法的操作 不違反第一種含義 但是表單可能被處理了兩次,如像乙個賬號轉賬了兩次,金...

如何防止重複提交

防止表單重複提交的兩種方式 1 通過重定向 2 通過session token session令牌 當客戶端請求頁面時,伺服器會通過token標籤生成乙個隨機數,並且將該隨機數放置到session當中,然後將該隨機數發向客戶端 如果客戶第一次提交,那麼會將該隨機數發往伺服器端,伺服器會接收到該隨機數...

php 防止頁面重新整理重複提交

一.使用session防止重複提交 其實跟驗證碼一樣的原理,主要是生成session和input隱藏域,這邊我的 是在乙個頁面中處理。header content type text html charset utf 8 頁面編碼 session start 開啟session if isset p...