浅析php过滤html字符串,防止SQL注入的方法


Posted in PHP onJuly 02, 2013

批量过滤post,get敏感数据

$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);

数据过滤函数
function stripslashes_array(&$array) {
 while(list($key,$var) = each($array)) {
  if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) {
   if (is_string($var)) {
    $array[$key] = stripslashes($var);
   }
   if (is_array($var))  {
    $array[$key] = stripslashes_array($var);
   }
  }
 }
 return $array; 
}

替换HTML尾标签,为过滤服务
function lib_replace_end_tag($str)
{
 if (empty($str)) return false;
 $str = htmlspecialchars($str);
 $str = str_replace( '/', "", $str);
 $str = str_replace("\\", "", $str);
 $str = str_replace(">", "", $str);
 $str = str_replace("<", "", $str);
 $str = str_replace("<SCRIPT>", "", $str);
 $str = str_replace("</SCRIPT>", "", $str);
 $str = str_replace("<script>", "", $str);
 $str = str_replace("</script>", "", $str);
 $str=str_replace("select","select",$str);
 $str=str_replace("join","join",$str);
 $str=str_replace("union","union",$str);
 $str=str_replace("where","where",$str);
 $str=str_replace("insert","insert",$str);
 $str=str_replace("delete","delete",$str);
 $str=str_replace("update","update",$str);
 $str=str_replace("like","like",$str);
 $str=str_replace("drop","drop",$str);
 $str=str_replace("create","create",$str);
 $str=str_replace("modify","modify",$str);
 $str=str_replace("rename","rename",$str);
 $str=str_replace("alter","alter",$str);
 $str=str_replace("cas","cast",$str);
 $str=str_replace("&","&",$str);
 $str=str_replace(">",">",$str);
 $str=str_replace("<","<",$str);
 $str=str_replace(" ",chr(32),$str);
 $str=str_replace(" ",chr(9),$str);
 $str=str_replace("    ",chr(9),$str);
 $str=str_replace("&",chr(34),$str);
 $str=str_replace("'",chr(39),$str);
 $str=str_replace("<br />",chr(13),$str);
 $str=str_replace("''","'",$str);
 $str=str_replace("css","'",$str);
 $str=str_replace("CSS","'",$str); 
 return $str;  
}
PHP 相关文章推荐
在PHP中利用XML技术构造远程服务(下)
Oct 09 PHP
AJAX for PHP简单表数据查询实例
Jan 02 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
php异常处理使用示例
Feb 25 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
Php-Redis安装测试笔记
Mar 05 PHP
php判断用户是否手机访问代码
Jun 08 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
微信支付扫码支付php版
Jul 22 PHP
PHP url的pathinfo模式加载不同控制器的简单实现
Aug 12 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
PHP设计模式之抽象工厂模式实例分析
Mar 25 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 #PHP
浅析PHP中的字符串编码转换(自动识别原编码)
Jul 02 #PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 #PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
Jul 02 #PHP
浅析php中如何在有限的内存中读取大文件
Jul 02 #PHP
解析PHP 5.5 新特性
Jul 02 #PHP
php仿QQ验证码的实例分析
Jul 01 #PHP
You might like
php_xmlhttp 乱码问题解决方法
2009/08/07 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
top.location.href 没有权限 解决方法
2008/08/05 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
PyQt5实现暗黑风格的计时器
2019/07/29 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
Python中list循环遍历删除数据的正确方法
2019/09/02 Python
Python&amp;&amp;GDAL实现NDVI的计算方式
2020/01/09 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
全球在线商店:BerryLook
2019/04/14 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
本科生学习总结的自我评价
2013/10/02 职场文书
传播学毕业生求职信
2013/10/11 职场文书
勤俭节约倡议书
2014/04/14 职场文书
新品发布会策划方案
2014/06/08 职场文书
先进个人总结范文
2015/02/15 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python
Pygame Rect区域位置的使用(图文)
2021/11/17 Python
nginx.conf配置文件结构小结
2022/04/08 Servers