防止重複提交表單

2022-04-17 07:59:20 字數 2023 閱讀 4472

public

class

refreshserve : system.web.ui.page

else}}

//////

呈現前更新標識

/// ///

protected

override

void

onprerender(eventargs e)

//////

更新標識,正常提交都刪除該次提交的時間,並生產當前新的時間

/// private

void

updaterefreshflag()

string submittime = datetime.now.tostring("

hhmmss.fffff");

//當前提交時間儲存到隱藏域

clientscript.registerhiddenfield(hidden_field_name, submittime);

log.debug(

"" + submittime + "

guid:

" +pageguid.tostring());

cookie.values.add(pageguid, submittime);

log.debug(

"updaterefreshflag中當前cookie中存在的記錄數為:

" +cookie.values.count);

for (int i = 0; i < cookie.values.count; i++)

log.info(

"cookie[

" + cookie.values.getkey(i) + "

]:" +cookie.values[i]);

#endregion}

//////

驗證是否重新整理

/// ///

private

bool

checkrefreshflag()

return

true

; }

//////

得到已儲存的提交時間,沒有新建,有返回

獲取當前提交時間

/// ///

private

string

getcursubmittime()

//////

設定頁面唯一標識,通過guid標識來區分每個頁面自己的提交時間

/// private

string

setcurpageguid()

else

guid =getcurpageguid();

}else

clientscript.registerhiddenfield(hidden_page_guid, guid);

return

guid;

}

//////

得到當前頁面的唯一標識

/// ///

private

string

getcurpageguid()

需要重新整理判斷功能時新頁面只需繼承該類就可,通過引用屬性ispagerefreshed識別"為真表示重新整理,假則是正常提交",將資料庫的操作寫在

if(!ispagerefreshed)

即可,如果是重新整理不會執行,**中注釋部分使用的是session方式儲存票證,因為session比較容易丟失且佔記憶體,所以使用cookie,

防止表單重複提交

新增乙個使用者時,發現重複新增了4 5個,原來是重複提交了。怎麼解決這個問題呢,起初是在後端檢查新增的屬性是否已有,例如姓名和手機號是否重複,如果重複就不儲存,沒想到後來隨著業務的複雜化,新增乙個使用者所需時間越來越長,以致在檢查時還沒插入完畢。那就在提交時就關閉form,可是這樣一來,如果後端檢查...

防止表單重複提交

防止表單重複提交 問題 什麼是表單重複提交?regist.jsp registservlet 表單重複提交 危害 刷票 重複註冊 帶來伺服器訪問壓力 拒絕服務 解決方案 在頁面上生成乙個令牌 就是乙個隨機字串 將其儲存到session中,並在表單中攜帶.在伺服器端,獲取資料時,也將令牌獲取,將它與s...

防止表單重複提交

表單重複提交是在多使用者web應用中最常見 帶來很多麻煩的乙個問題。有很多的應用場景都會遇到重複提交問題,比如 點選提交按鈕兩次。點選重新整理按鈕。使用瀏覽器後退按鈕重複之前的操作,導致重複提交表單。通過建立令牌,驗證,銷毀。來避免乙個令牌,產出多次表單提交。1.令牌函式 建立token funct...