記一次 thinkphp5令牌驗證防止重複提交表單
阿新 • • 發佈:2018-12-27
因為專案需要表單提交,可是發現了必須要防止使用者提交,經過了幾個小時的百度旅遊總算找到的方法,其實說到底還是看官方手冊來的頭緒,以後看來要多看。。。。。。。
其實好像就是驗證器中加入token的驗證而已,擼程式碼吧
首先在html的from中加入下列程式碼,其實官方手冊有說明的
{:token()} 或者 <input type="hidden" name="__token__" value="{$Request.token}" />
然後再控制器中加入
$token = input("__token__");//獲取提交過來的令牌 $data = [ '__token__' => $token, ]; //驗證路由 $rule = [ '__token__' => 'token', ]; //錯誤資訊 $msg = [ '__token__' => '請不要重新整理該頁面!', ]; //引入驗證類 $validate = Validate::make($rule,$msg); if (!$validate->check($data)) { //如果驗證不通過則錯誤頁面並顯示錯誤資訊,3s後跳轉指定頁面 $this->error($validate->getError(), url("Index/index")); }else{ //通過後則正常進行 }
記得use think\Validate
快趕進度啊!!!還偷偷寫部落格園.........