【知识点】SQL注入风险
该版本存在的漏洞文件:ThinkPHP/Lib/Core/Model.class.php 文件里的parseSql函数没有实现SQL过滤
将parseSql函数修改为:
protected function parseSql($sql,$parse) {
建议:
永远不要相信客户端提交的数据,所以对于输入数据的过滤势在必行,我们建议:
-
开启令牌验证避免数据的重复提交; ThinkPHP支持表单令牌验证功能,可以有效防止表单的重复提交等安全防护。
要启用表单令牌功能,需要配置行为绑定,在应用或者模块的配置目录下面的行为定义文件tags.php中,添加:
return array(
表示在view_filter标签位置执行表单令牌检测行为。
表单令牌验证相关的配置参数有:ThinkPHP\Lib\Behavior\TokenBuildBehavior.class.php
'TOKEN_ON' => true, // 是否开启令牌验证 默认false关闭-请设置为true
如果开启表单令牌验证功能,系统会自动在带有表单的模板文件里面自动生成以TOKEN_NAME为名称的隐藏域,其值则是TOKEN_TYPE方式生成的哈希字符串,用于实现表单的自动令牌验证。
自动生成的隐藏域位于表单Form结束标志之前,如果希望自己控制隐藏域的位置,可以手动在表单页面添加标识,系统会在输出模板的时候自动替换。
如果页面中存在多个表单,建议添加标识,并确保只有一个表单需要令牌验证。
如果个别页面输出不希望进行表单令牌验证,可以在控制器中的输出方法之前动态关闭表单令牌验证,例如:
C('TOKEN_ON',false);
模型类在创建数据对象的同时会自动进行表单令牌验证操作,如果你没有使用create方法创建数据对象的话,则需要手动调用模型的autoCheckToken方法进行表单令牌验证。如果返回false,则表示表单令牌验证错误。例如:
$User = M("User"); // 实例化User对象
-
使用自动验证和自动完成机制进行初步过滤;
-
使用系统提供的I函数获取用户输入数据;
-
对不同的应用需求设置不同的安全过滤函数,常见的安全·过滤函数包括stripslashes、htmlentities、htmlspecialchars和strip_tags等;
-
使用I函数过滤
-
使用系统内置的I函数是避免输入数据出现安全隐患的重要手段,I函数默认的过滤方法是htmlspecialchars,如果我们需要采用其他的方法进行安全过滤,有两种方式:
如果是全局的过滤方法,那么可以设置DEFAULT_FILTER,例如:
'DEFAULT_FILTER' => 'strip_tags',
设置了DEFAULT_FILTER后,所有的I函数调用默认都会使用strip_tags进行过滤。
当然,我们也可以设置多个过滤方法,例如:
'DEFAULT_FILTER' => 'strip_tags,stripslashes',
如果是仅需要对个别数据采用特殊的过滤方法,可以在调用I函数的时候传入过滤方法,例如:
I('post.id',0,'intval'); // 用intval过滤$_POST['id']
要尽量避免直接使用$_GET $_POST $_REQUEST 等数据,这些可能会导致安全的隐患。 就算你要获取整个$_GET数据,我们也建议你使用 I('get.') 的方式
写入数据过滤 如果你没有使用I函数进行数据过滤的话,还可以在模型的写入操作之前调用filter方法对数据进行安全过滤,例如:
$this->data($data)->filter('strip_tags')->add();
-
查询条件尽量使用数组方式,这是更为安全的方式;
-
如果不得已必须使用字符串查询条件,使用预处理机制;
-
使用自动验证和自动完成机制进行针对应用的自定义过滤;
-
如果环境允许,尽量使用PDO方式,并使用参数绑定

空谷科技成立于2010年3月,位于独墅湖创意产业园,核心业务:高端网站设计、行业解决方案、移动端开发、数字运营、商业摄影、宣传片、VI设计。
● 苏州市政府采购认证供应商;
● 江苏省民营科技企业;
● 网页设计师联盟连续6年金牌设计企业;
● 华为云金牌精英服务商;
● 阿里巴巴旗下阿里云建站市场苏州推荐供应商;
● 拥有十三项软著和软件产品;
● 苏州大学科技创业园优秀企业。
联系地址:
苏州:苏州市工业园区星湖街328号创意产业园6#103
上海:上海市杨浦区长阳路1514号鑫谊园区208室
成都:成都市高新区天府三街218号峰汇中心(腾讯大厦对面)2号楼806-808
潍坊:山东省潍坊市高新区中阳银枫大厦307室
河南:郑州市上街区新建东街六号院
陕西:西安市莲湖区丰庆路东口景寓学府
邵阳:湖南省邵阳市大祥区雪峰南路与敏州西路交汇处
联系电话:4006-515-848
本篇文章版权由苏州网站建设高端品牌——空谷科技所有,如需转载,请注明出处!
- 热门资讯
-
- 1空谷科技 | 启航新征程,赋能再出发!
- 2苏州高新区人民医院&空谷科技 | 推进平台数字化转型,定制互联网+解决方案
- 3中国国际纳米技术产业博览会&空谷科技 | “山容海‘纳’、无‘微’不至”,第十二届纳博会圆满收官!
- 4固德威&空谷科技 | 用思想的力量带领行业向前奔跑,固德威太阳能学院平台正式上线
- 5苏州混凝土水泥制品研究院&空谷科技 | 助推系统安全体系建设,塑造责任央企品牌形象
- 6【上线】 新冠肺炎疫情下的大学在线教育--实践合作H5设计项目成功上线
- 7【签约】空谷科技成功签约中国教育部H5设计项目!
- 8【上线】第二届联合国机构宣讲活动H5设计项目成功上线
- 9【签约】再次合作!城投资本公司再次携手空谷科技
- 10【上线】苏大本科招生网高端网站建设项目成功上线
- 11空谷科技携手华为云助力互联网营销升级&企业数字化转型专场活动成功举办
- 12温暖相伴,空谷科技第三季度生日会&阅读分享会来啦!
- 131024程序员节 | 程序改变世界,世界以你为荣
- 14员工关怀 | 暖心下午茶,为奋斗续航
- 15@所有人,节日快乐!
- 16亚马逊云科技+空谷科技 | 创新携手,持续深耕,赋能传统企业数字化转型
- 17苏州工业园区科创企业联合会莅临空谷科技进行调研和指导工作
- 18空谷科技 | 回顾过去,展望未来
- 19苏州奥体中心&空谷科技 | 推动高效线上管理营销,数字化培训系统上线!
- 20伏图拉&空谷科技 | 多维度彰显品牌调性,构建企业文化展示窗口