PHP CodeIgniter学习笔记详解
(中文官网:http://www.bootcss.com)好的东西大家都喜欢,但是它对IE6-9的兼容几乎是0。大家也懂的,国外基本是不使用这几款浏览器了。不过在中国,IE依然占有很高的市场份额。所以,有人开发了一款叫做BSIE的Bootstrap插件,美其名曰鄙视IE,使用方法也相当简单。好像有点跑题,后端我用的是CodeIgniter,它是基于PHP的开源框架。CI是今天的正题。
因为CI对于数据的过滤函数只有xss_clean(),(不知道是不是自己才疏学浅,总之没有找到其他的过滤函数)而今天的项目涉及到接收用户数据,然后提交数据库的操作。没有针对SQL语句的过滤,使得这一操作变得很危险。有点蛋蛋的忧桑,我想到的方法是改写CI的xss_clean()函数,使之具备过滤SQL注入语句的功能;一来改起来方便,二来过滤数据的时候不用嵌套两个函数。说干就干,在CI/system/core/目录下找到secure.php文件,找到xss_clean()函数的申明位置,在最后加上这么一段东西。
PHP代码
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy1788')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1788>$str = str_replace("_","x",$str);$str = str_replace("%","x",$str);
$str = str_replace(""","x",$str);
$str = str_replace("'","x",$str);
$str = str_replace("select","x",$str);
$str = str_replace("update","x",$str);
$str = str_replace("insert","x",$str);
$str = str_replace("set","x",$str);
$str = str_replace("where","x",$str);
$str = str_replace("from","x",$str);
$str = str_replace("alert","x",$str);
$str = str_replace("like","x",$str);
return $str;
这样差不多能避免一般的SQL注入了。
您可能感兴趣的文章:
PHP CodeIgniter学习笔记详解
php入门篇-php学习笔记
怎么用python实现画爱心
ci和thinkphp5哪个好
CodeIgniter的基本配置说明
自动删除mysql死连接 mysql死锁
CodeIgniter图像处理类代码
photoshop设计父亲节主题粉笔画效果制作教程
php语言难学吗?如何去学php?
php工程师需要掌握哪些技能?