天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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 防止表單重復提交的方法,轉載需保留來源!

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

主站蜘蛛池模板: 日韩一本在线 | 成年女人免费影院播放 | 制服丝袜第一页 | 亚洲一卡二卡三卡四卡2021麻豆 | 三级网址在线 | 邪恶肉肉全彩色无遮盖 | 人妖和美女玩 | 超碰免费视频caoporn | 国产AV精品久久久毛片 | 四虎永久在线精品免费A | 欧美日韩一级黄色片 | 国产一区私人高清影院 | 97色在线视频 | 果冻传媒2021一二三在线观看 | 一一本之道高清手机在线观看 | 果冻传媒在线播放 免费观看 | 久在线观看福利视频 | 色琪琪久久热在线 | 91麻精品国产91久久久久 | 多男同时插一个女人8p | 色综合五月激情综合色一区 | 2021乱码精品公司 | 国产免费人成在线看视频 | 51国产偷自视频在线视频播放 | 国产人成高清在线视频99 | 诱人的女邻居9中文观看 | 老师掀开短裙让我挺进动态 | 青草影院天堂男人久久 | 在线日本v二区不卡 | 免费国产足恋网站 | 墨西哥美女主播 | 国产黄A片在线观看永久免费麻豆 | 秘密教学93话恩爱久等了免费 | 国产亚洲精品久久久久久久 | 浴室里强摁做开腿呻吟的漫画男男 | 久久久久久久久久毛片精品美女 | 八妻子秋霞理在线播放 | 香蕉59tv视频| 男生插曲女生身全过程 | 亚洲人美女肛交真人全程 | 大乳牛奶女magnet |