考虑安全的问题,在代码中加了令牌。
下面说一下如何用thinkphp5自带的令牌去完成。
度了一下,也没写的比较全的,TP5文档你懂得,不过最后还是依靠文档写出来的
文档中介绍了好几种方法,我就不一一讲了,我讲一个直接拿来就能用的。不需要额外的模型层和多余的代码。
废话不多说,上代码。
前端代码
{:token('__token__', 'sha1')}//插入在form中
这个能自动生成一个input hidden token表单
后端代码
$result = $this->validate(
[
'__token__' => input('__token__'),
],
[
'__token__' => 'require|token',
]);
if(true !== $result){
// 验证失败 输出错误信息
dump($result);
}
这写在控制器中,把这段代码VC到中间,就是一个过滤层。
不过有一个问题需要注意一下,这个form表单如果不刷新的话只能提交一次。
像那种后端有什么非空判断的,尽量在前端进行过滤。
主要还是根据业务场景来去添加,免得引起不必要的麻烦。