浅析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 接口类与抽象类的实际作用
Nov 26 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
判断php数组是否为索引数组的实现方法
Jun 13 PHP
php读取富文本的时p标签会出现红线是怎么回事
May 13 PHP
php自动识别文件编码并转换为UTF-8的方法
Jun 12 PHP
php发送get、post请求的6种方法简明总结
Jul 08 PHP
php实现高效获取图片尺寸的方法
Dec 12 PHP
PHP+Mysql基于事务处理实现转账功能的方法
Jul 08 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
Jan 17 PHP
PHP 计算至少是其他数字两倍的最大数的实现代码
May 26 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
linux下 C语言对 php 扩展
2008/12/14 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
php模板引擎技术简单实现
2016/03/15 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
jQuery之Deferred对象详解
2014/09/04 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
2015/09/18 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
vue 优化CDN加速的方法示例
2018/09/19 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
[01:12:53]完美世界DOTA2联赛PWL S2 Forest vs SZ 第一场 11.25
2020/11/26 DOTA
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
Python语法快速入门指南
2015/10/12 Python
Python实现Linux中的du命令
2017/06/12 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
中国医药集团国药在线:国药网
2017/02/06 全球购物
学生励志演讲稿
2014/01/06 职场文书
文明风采获奖感言
2014/02/18 职场文书
铁路安全事故反思
2014/04/26 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
计生个人工作总结
2015/02/28 职场文书
留学推荐信英文范文
2015/03/26 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
地道战观后感500字
2015/06/04 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书
《包身工》教学反思
2016/02/23 职场文书
go类型转换及与C的类型转换方式
2021/05/05 Golang