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