关于TP5的表单token使用注意点之一二

 首先,表单里面直接的这个{$Request.token},是token的value值,每一次刷新页面,会有一个新的token生产

<form method="post" action="{:url('Login/do_login')}">
                <h4 class="no-margins">登录:</h4>
                <p class="m-t-md">登录到后台主页</p>
                <input name="username"  type="text" class="form-control uname" placeholder="用户名" />
                <input name="passwords" type="password" class="form-control pword m-b" placeholder="密码" />
                <input type="hidden" name="__token__" value="{$Request.token}">
                <a href="javascript:;">忘记密码了?</a>
                <button onclick="" class="btn btn-success btn-block">登录</button>
            </form>

第二,我们可以获取表单的token值,和session中的token,进行对比是否一样

$token=request()->param("__token__");//这是表单提交获取的token
var_dump(request()->session());//直接打印session中的token

第三:validate验证器中的token名称一定要为__token__才行,如果你这里写错了,就会验证失败

protected $rule=[
      'admin_name'=>'require|length:5,20',
      'admin_pwds'=>'require|length:6,15',
      '__token__'=>'require|token', //这里__token__不能去改.
    ];

我们打印传参过来的值,以及session获取的token,还有验证后的结果,验证成功为true

162202_RKcT_3360064.png

如果对比失败,请检查你的data中的token名称是否为__token__,以及验证器是否正确写对了,还有就是你的表单是否重复提交了,重复提交失败是因为你的session中的token变了而你获取的token还是上一次的token,要去表单页面重新刷新一次再进行提交.

 

 

 

转载于:https://my.oschina.net/laobia/blog/1632724

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值