thinkPHP5小bug之表单令牌

xiaoxiao2021-02-28  91

网站前端的信息中是不安全的,所以后端需要时刻检查前端的信息,比如信息是否来自本网站的页面。这就需要表单令牌了。当然您可以说检查url,但是可以伪造header啊。 而在tp5的官方文档中,表单令牌的这部分写的有些不严谨,在此提出个人的小建议。 在表单令牌的定义和使用中,分为2种:验证规则和验证器。验证器中没有问题的。

//php protected $rule=[ 'name'=>'required|token' ]; //前端 <input type="hidden" name="__token__" value="{$Request.token}" />

但是在验证规则中,则官方文档有些小瑕疵。

//前端 <input type="hidden" name="__token__" value="{$ Request.token}" />

而PHP代码在官方文档中少了一部分。

<?php $name = $this->request->post('name');//接收值 $this->validate(["__token__"=>$token,'name'=>$name],['name'=>'token']);//验证值,在规则中验证表单令牌,表单令牌不是单独存在,单独验证的,需要依附于其他数据验证 ?>

验证规则需要自己写令牌信息的接收。这是与验证器不同的地方,也是官方文档遗漏的地方。

转载请注明原文地址: https://www.6miu.com/read-44510.html

最新回复(0)