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

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

主站蜘蛛池模板: 国产AV精品久久久毛片 | 毛片手机在线看 | 超碰在线视频caoporn | 国产精品一库二库三库 | 污文啊好棒棒啊好了 | 中国jjzz| 攻把受做得合不拢腿play | 操中国老太太 | 户外露出野战hd | 免费看亚洲 | 国产特级毛片AAAAAAA高清 | 色偷偷成人网免费视频男人的天堂 | 0855午夜福利伦理电影 | 亚洲国产在线观看免费视频 | 免费韩国伦理2017最新 | www.久久久| 国产毛片A级久久久不卡精品 | 久久国产热视频99rev6 | 亚洲欧美中文字幕先锋 | 9LPORM原创自拍达人 | 99国产在线视频 | 99热只有精品 | 寂寞夜晚看免费视频 | 超级碰碰青草久热国产 | 国产一区二区三区国产精品 | 一级做a爰片久久毛片苍井优 | 双性大乳浪受噗呲噗呲h总 双性被疯狂灌满精NP | 精子pk美女 | 国产精品一区二区AV交换 | 伊人网青青草 | 大桥未久在线看 | 国内精品日本久久久久影院 | 伊人久久大香线蕉综合影 | 白人大战34厘米黑人BD | 国产九九九九九九九A片 | 国产成人综合95精品视频免费 | 国产精品久久久久久无码专区 | 国产色婷亚洲99精品AV在 | 少妇内射兰兰久久 | 18动漫在线观看 | 色一伦一情一区二区三区 |