記一次 thinkphp5令牌驗證防止重復提交表單


因為項目需要表單提交,可是發現了必須要防止用戶提交,經過了幾個小時的百度旅游總算找到的方法,其實說到底還是看官方手冊來的頭緒,以后看來要多看。。。。。。。

其實好像就是驗證器中加入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

快趕進度啊!!!還偷偷寫博客園.........


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM