php防止表單重復(fù)提交

后端防止重復(fù)提交的基本原理:
服務(wù)器返回表單頁面時,會先生成一個subToken保存于session,并把該subToen傳給表單頁面。當表單提交時會帶上subToken,服務(wù)器獲取表單信息判斷session保存的subToken和表單提交subToken是否一致。若不一致或session的subToken為空或表單未攜帶subToken則不通過。
首次提交表單時session的subToken與表單攜帶的subToken一致走正常流程,然后攔截器內(nèi)會刪除session保存的subToken。當再次提交表單時由于session的subToken為空則不通過。從而實現(xiàn)了防止表單重復(fù)提交。

成都創(chuàng)新互聯(lián)10余年專注成都高端網(wǎng)站建設(shè)定制網(wǎng)站開發(fā)服務(wù),為客戶提供專業(yè)的成都網(wǎng)站制作,成都網(wǎng)頁設(shè)計,成都網(wǎng)站設(shè)計服務(wù);成都創(chuàng)新互聯(lián)服務(wù)內(nèi)容包含成都網(wǎng)站建設(shè),成都微信小程序,軟件開發(fā),網(wǎng)絡(luò)營銷推廣,網(wǎng)絡(luò)運營服務(wù)及企業(yè)形象設(shè)計;成都創(chuàng)新互聯(lián)擁有眾多專業(yè)的高端網(wǎng)站制作開發(fā)團隊,資深的高端網(wǎng)頁設(shè)計團隊及經(jīng)驗豐富的架構(gòu)師高端網(wǎng)站策劃團隊;我們始終堅持從客戶的角度出發(fā),為客戶量身訂造網(wǎng)絡(luò)營銷方案,解決網(wǎng)絡(luò)營銷疑問。

$session = Yii::app()->session;
$user_id = $this->user->id;
$sessionKey = $user_id.'_is_sending';
if(isset($session[$sessionKey])){
$first_submit_time = $session[$sessionKey];
$current_time = time();
if($current_time - $first_submit_time < 10){
$session[$sessionKey] = $current_time;
$this->response(array('status'=>1, 'msg'=>'不能在10秒鐘內(nèi)連續(xù)發(fā)送兩次。'));
}else{
unset($session[$sessionKey]);//超過限制時間,釋放session";
}
}
//第一次點擊確認按鈕時執(zhí)行
if(!isset($session[$sessionKey])){
$session[$sessionKey] = time();
}

可以參考以下鏈接,寫的比較詳細:https://blog.csdn.net/Huozhiwu_11/article/details/78742886
https://www.jb51.net/article/91623.htm

網(wǎng)頁標題:php防止表單重復(fù)提交
轉(zhuǎn)載來源:http://www.muchs.cn/article6/ghjhog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、定制網(wǎng)站、Google、網(wǎng)站制作、域名注冊、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作