无限星辰工作室-客户无限互联网动力之源

标题: Thinkphp3.2.3 老项目中启用 表单令牌 防止跨站提交 [打印本页]

作者: crx349    时间: 2022-12-13 01:52
标题: Thinkphp3.2.3 老项目中启用 表单令牌 防止跨站提交
前提:虽然Tp3.2.3已经是比较久的代码了,但是还是有很多老项目在使用(包括我自己),最近在自己的一个项目里面发现,表单提交有跨站风险,找了下官方说明想加下表单令牌,写的比较含糊,自己试验后功能基本正常可用。结果如下:

1.Common\Conf\config.php
添加:
  1.   'TOKEN_ON' => true, // 是否开启令牌验证 默认关闭
  2.     'TOKEN_NAME' => '__hash__', // 令牌验证的表单隐藏字段名称,默认为__hash__
  3.     'TOKEN_TYPE' => 'md5', //令牌哈希验证规则 默认为MD5
  4.     'TOKEN_RESET' => true, //令牌验证出错后是否重置令牌 默认为true在这里插入代码片
复制代码



2.在需要的模块目录中的tags.php里面添加:
  1. 'view_filter' => array('Behavior\TokenBuildBehavior'),
复制代码


如:Mobile\Conf\tags.php
如果没有这个文件,直接新建就可以了

3.这时候模块下的表单会自动添加 名称为:__hash__ 的隐藏字段。
(, 下载次数: 731)
4.验证时,控制器里面添加:
  1. //表单验证
  2.         if(!M('')->autoCheckToken($_REQUEST)){
  3.          
  4.         }
复制代码
进行判断 就可以了




欢迎光临 无限星辰工作室-客户无限互联网动力之源 (https://www.xmspace.net/) Powered by Discuz! X3.4