国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

幾種防止表單重復(fù)提交的方法

2024-09-05 00:22:02
字體:
供稿:網(wǎng)友
表單重復(fù)提交是在多用戶Web應(yīng)用中最常見的一個問題,很多場合都會遇到這種情況,下面與大家分享下防止表單重復(fù)提交的幾種策略

表單重復(fù)提交是在多用戶Web應(yīng)用中最常見、帶來很多麻煩的一個問題。有很多的應(yīng)用場景都會遇到重復(fù)提交問題,比如:

點(diǎn)擊提交按鈕兩次。
點(diǎn)擊刷新按鈕。
使用瀏覽器后退按鈕重復(fù)之前的操作,導(dǎo)致重復(fù)提交表單。
使用瀏覽器歷史記錄重復(fù)提交表單。
瀏覽器重復(fù)的HTTP請求。

幾種防止表單重復(fù)提交的方法

 

幾種防止表單重復(fù)提交的方法

禁掉提交按鈕。表單提交后使用Javascript使提交按鈕disable。這種方法防止心急的用戶多次點(diǎn)擊按鈕。但有個問題,如果客戶端把Javascript給禁止掉,這種方法就無效了。

我之前的文章曾說過用一些Jquery插件效果不錯。

Post/Redirect/Get模式。在提交后執(zhí)行頁面重定向,這就是所謂的Post-Redirect-Get (PRG)模式。簡言之,當(dāng)用戶提交了表單后,你去執(zhí)行一個客戶端的重定向,轉(zhuǎn)到提交成功信息頁面。

這能避免用戶按F5導(dǎo)致的重復(fù)提交,而其也不會出現(xiàn)瀏覽器表單重復(fù)提交的警告,也能消除按瀏覽器前進(jìn)和后退按導(dǎo)致的同樣問題。

在session中存放一個特殊標(biāo)志。當(dāng)表單頁面被請求時,生成一個特殊的字符標(biāo)志串,存在session中,同時放在表單的隱藏域里。接受處理表單數(shù)據(jù)時,檢查標(biāo)識字串是否存在,并立即從session中刪除它,然后正常處理數(shù)據(jù)。

如果發(fā)現(xiàn)表單提交里沒有有效的標(biāo)志串,這說明表單已經(jīng)被提交過了,忽略這次提交。

這使你的web應(yīng)用有了更高級的XSRF保護(hù)。

在數(shù)據(jù)庫里添加約束。在數(shù)據(jù)庫里添加唯一約束或創(chuàng)建唯一索引,防止出現(xiàn)重復(fù)數(shù)據(jù)。這是最有效的防止重復(fù)提交數(shù)據(jù)的方法。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 正宁县| 灵川县| 延庆县| 河东区| 攀枝花市| 寿光市| 鄂托克旗| 莱芜市| 商洛市| 汪清县| 石城县| 增城市| 勐海县| 邹平县| 阿尔山市| 通州区| 绥德县| 芦山县| 宁武县| 阜南县| 成安县| 徐闻县| 广元市| 山阴县| 鹤壁市| 康乐县| 伊宁县| 茌平县| 芜湖县| 太仆寺旗| 黄浦区| 海盐县| 宽甸| 红原县| 进贤县| 全椒县| 莱州市| 泉州市| 泉州市| 乐亭县| 黑山县|