记一次 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
快赶进度啊!!!还偷偷写博客园.........