thinkphp5表单令牌

考虑安全的问题,在代码中加了令牌。

下面说一下如何用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表单如果不刷新的话只能提交一次。

像那种后端有什么非空判断的,尽量在前端进行过滤。

主要还是根据业务场景来去添加,免得引起不必要的麻烦。