Thinkphp3.2.3 老项目中启用 表单令牌 防止跨站提交
前提:虽然Tp3.2.3已经是比较久的代码了,但是还是有很多老项目在使用(包括我自己),最近在自己的一个项目里面发现,表单提交有跨站风险,找了下官方说明想加下表单令牌,写的比较含糊,自己试验后功能基本正常可用。结果如下:1.Common\Conf\config.php
添加:
'TOKEN_ON' => true, // 是否开启令牌验证 默认关闭
'TOKEN_NAME' => '__hash__', // 令牌验证的表单隐藏字段名称,默认为__hash__
'TOKEN_TYPE' => 'md5', //令牌哈希验证规则 默认为MD5
'TOKEN_RESET' => true, //令牌验证出错后是否重置令牌 默认为true在这里插入代码片
2.在需要的模块目录中的tags.php里面添加:
'view_filter' => array('Behavior\TokenBuildBehavior'),
如:Mobile\Conf\tags.php
如果没有这个文件,直接新建就可以了
3.这时候模块下的表单会自动添加 名称为:__hash__ 的隐藏字段。
4.验证时,控制器里面添加:
//表单验证
if(!M('')->autoCheckToken($_REQUEST)){
}进行判断 就可以了
页:
[1]