thinkphp通过ajax传令牌token到后台验证
未知
2021-04-23 13:47:54
0
问题描述:
      
       在thinkphp中使用ajax从后台返回数据,在token令牌的使用中出错:令牌数据无效。刚开始我用的'unme'=>'require|token'。

解决办法:

html代码:
   <input type="hidden" id="token" value="{$Request.token}" />
   var token = $("#token").val();
   $.ajax({
        type: "post",

        dataType: "json",

        url: "/publesetPass",  

        data: { 'unme': usrName, "newpss": newPass,  "__token__": token },    

        success: function (ret) {

            console.log(ret);      

        },
    });
php代码:

          $rule=[

          'unme'=>'require',
          '__token__' => 'token'
      ];

        $data=[
            'unme'=>$datas['unme']
        ];

        $vali=new Validate($rule);
        $res=$vali->check($data);
        if(!$res){
            $resmsg=$vali->getError();

             return json(['code'=>1001,'data'=>'','msg'=>$resmsg]);
        }

表单令牌的作用在于防止数据的重复提交,防止跨站脚本攻击。原理是生成一个token值,用session缓存起来,这个过程是在打开填写表单的页面时就生成了,然后我们填写完数据是提交到php页面,此时的token值会和之前缓存起来的值进行对比,如果不一样就会报错。

相关内容

Empty directo...
Empty directories is not supporte...
2024-07-25 09:15:46
视频号小店跳到微信小程序的...
视频号小店跳到微信小程序的路径
2024-04-23 17:28:30
JS代码实现复制到剪贴板
一些网站上会出现分享,转发之类的链接,只要点击按钮就直接复制到了剪...
2024-03-21 11:12:51
Linux未找到telne...
Linux未找到telnet命令command not found
2023-12-28 17:11:52
Jquery eval a...
最近在用jquery的ajax方法传递接收json数据时发现一个问...
2023-12-08 11:08:11
layui thinkph...
layui thinkphp表单图片上传upload
2023-12-08 10:54:34

热门资讯

tp5 jquery判断手机端... application--common.php中添加如下代码 //函数作用是判断用户打开的是手机端还...
Laravel 5.5 .No... 创建了新的laravel项目后, 运行提示:No application encryption ke...
php 打印date函数出现错... 问题描述: 我使用的是phpstudy,在练习时间函数的时候,打印出现在的时间,date(Y-m-d...
生成随机字符唯一标识符guid... /** * @param $length * @return string * 生成随机字符串 */...
layui缩略图 div class=layui-form-item label class=layui-form-l...
php函数substr_rep... php函数substr_replace从某个位置替换或删除或插入字符串
Laravel 引入自定义类库... 强烈建议引入的类 都是含有命名空间的,这样使用起来就不会出现重名的情况。!!当然,没有命名空间也可以...
object json转化为数... //调用api 程序,通知商户订单异常 20200314 public function callt...
Laravel 查看SQL操作... 方法一:临时打印操作记录 DB::connection()-enableQueryLog(); # ...
php银行开放平台接口:pfx... 问题描述: 对接易通银行,他们的服务开放平台是java开发,而我的是php,现在需要php版本的SD...