一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

ThinkPHP 防止表單重復提交的方法

然而有一種情況,是防止不了的:

用戶提交表單以后,點擊瀏覽器后退按鈕返回表單頁面,這個時候瀏覽器會直接從緩存中取出頁面,因此token驗證一定是通不過的。

網上有許多種辦法可以繞過這個問題,比如用location.replace()方法來替換當前歷史記錄,但是這樣仍然有瑕疵。極端的情況,若用戶在頁面間切換多次,那么多點幾次后退按鈕很可能又回到了上一個表單頁面。

解決辦法是在http頭中設置Cache-Control: no-cache, no-store。然而我嘗試了無論是在頁面head中添加 <meta http-equiv="Cache-Control" content="no-cache, no-store"> 還是在Action中輸出 header("Cache-control: no-cache, no-store") 都無效。

查找了很久,發現問題出在Thinkphp的模板渲染機制上,打開 Thinkphp/Lib/Think/Core/View.class.php 看第173行

header("Cache-control: private");  //支持頁面回跳

原來TP為了支持頁面回跳,強制在每個模板輸出之前都發送了一個Cache-control: private的頭,這可真是幫了倒忙了。

把這行注釋掉,刪除TP核心緩存,再試一次,發現HTTP響應頭成功改變了

php技術ThinkPHP 防止表單重復提交的方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91精品综合国产在线观看 | 怡红院官网| 亚洲国产精品第一页 | dxj在线视频·男人的天堂网站 | 97在线播放视频 | 黄色在线观看国产 | 国产熟睡乱子伦视频观看看 | 色呦呦网站 | 韩国免费特一级毛片 | 视频一区二区三区自拍 | 亚洲最新视频在线观看 | 色婷综合| 国语精品91自产拍在线观看二区 | 国内精品一区二区三区最新 | 日韩 亚洲 中文 图片 小说 | 六月激情| 成人美女黄网站色大色费 | 丁香花五月婷婷开心 | 992tv又爽又黄的免费视频 | 国产黄色片在线看 | 久久久国产乱子伦精品 | 一区二区三区四区国产精品 | 亚洲天堂久久 | 我被黑人巨大开嫩苞在线观看 | 伊人第四色 | 男人精品网站一区二区三区 | 国产精品成人观看视频免费 | 国产精视频 | 国产一区二区三区免费 | 欧美精品免费一区欧美久久优播 | 五月丁香六月婷综合缴情在线 | 图片区小说区欧洲区 | 青青热久麻豆精品视频在线观看 | 国产精品一区二区久久精品涩爱 | 99热在这里只有免费精品 | 久久夜夜视频 | 免费视频88av在线 | 看全色黄大色大片免费久久 | 国产一区自拍视频 | 精品国产第一国产综合精品 | 91精品国产91热久久p |