CI框架中URL特殊字符处理与SQL注入隐患的示例分析
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,这篇文章将为大家详细讲解有关CI框架中URL特殊字符处理与SQL注入隐患的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:php CI框架中URL特
千家信息网最后更新 2025年01月25日CI框架中URL特殊字符处理与SQL注入隐患的示例分析
这篇文章将为大家详细讲解有关CI框架中URL特殊字符处理与SQL注入隐患的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体如下:
php CI框架中URL特殊字符有很多是不支持的,导致像c++,括号这些常用的分类,字符都无法正常显示很头痛,而在配置里增加单引号' 反斜杠\ 这种特殊字符又很容易给sql注入
在默认的config配置基础上加上:+=()特殊字符
#$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';$config['permitted_uri_chars'] ='a-z 0-9~%.:_\-\+=()';
在CI框架中,尽量使用AR类进行数据库查询是比较靠谱的,因为在底层会帮助使用者进行一次有效的转义,但也仅仅是转义而已。
过滤的方法是escape_str()
:
function escape_str($str, $like = FALSE){ var_dump($str); echo "\n" ; if (is_array($str)) { foreach ($str as $key => $val) { $str[$key] = escape_str($val, $like); } return $str; } if (function_exists('mysql_real_escape_string')) { $str = addslashes($str); } elseif (function_exists('mysql_escape_string')) { $str = mysql_escape_string($str); } else { $str = addslashes($str); } // escape LIKE condition wildcards if ($like === TRUE) { $str = str_replace(array('%', '_'), array('\\%', '\\_'), $str); } return $str;}
该方法仅仅是调用了一些转义函数,并对like参数进行过滤。
如果查询的变量没有被单引号包裹,那么就无法进行保护
ci 框架默认的过滤函数是escape :
xx". $this->db->escape ( $xxx )."xx
由于数组的$key
过滤不严直接带入SQL查询的漏洞屡见不鲜:
$arr = array( 'name'=>"2' and 1=2", "hello'"=>"2"););
输出结果:
Array(
[name] => 2\' and 1=2
[hello' union select ] => 2
)
如果真实sql语句传入上面两个参数合并起来就可以查询出所有信息了,属于sql注入了
关于"CI框架中URL特殊字符处理与SQL注入隐患的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
字符
特殊
框架
查询
篇文章
转义
示例
隐患
分析
处理
函数
参数
引号
方法
更多
帮助
配置
不严
不错
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
创建新数据库类型
软件开发中有哪些模型
互联网属于计算机科技吗
vba 导入数据库
浪潮服务器2020
网络安全主题班会方案
同徽网络技术
电商网络技术建设数据
向数据库中添加的表()
服务器强制重启后引导出错
吉隆坡网络安全主管工资多少
施乐700背包服务器优缺点
河南软件开发单位
两种错误云服务器安全观念
游戏分类数据库
关注网络安全 建设活动
咖维网络技术怎么样
深网络安全
前端页面静态数据库
北京环境监测软件开发价位
马克龙网络安全
计算机网络技术是工程类专业
河南明德软件开发有限公司
无锡本微网络技术
数据库原理英文
近红外人脸数据库
数据库营销的运作的第一步
基岩版服务器怎么换挡
手机网络安全微电影
网络安全tpg