浅析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函数)
Oct 09 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
Apr 16 PHP
php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别
Sep 05 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
PHP中PDO的错误处理
Sep 04 PHP
PHP原生模板引擎 最简单的模板引擎
Apr 25 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
php根据身份证号码计算年龄的实例代码
Jan 18 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
Oct 31 PHP
php微信支付之APP支付方法
Mar 04 PHP
PHP 二维数组和三维数组的过滤
Mar 16 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 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
ASP知识讲座四
2006/10/09 PHP
PHP 多维数组排序实现代码
2009/08/05 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
js技巧--转义符&quot;\&quot;的妙用
2007/01/09 Javascript
jquery的Tooltip插件 qtip使用详细说明
2010/09/08 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
Python3指定路径寻找符合匹配模式文件
2015/05/22 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
python导入模块交叉引用的方法
2019/01/19 Python
python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用
2019/04/03 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
python格式化输出保留2位小数的实现方法
2019/07/02 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
施华洛世奇新加坡官网:SWAROVSKI新加坡
2020/10/06 全球购物
如何进行Linux分区优化
2016/09/13 面试题
红领巾广播站广播稿
2014/02/01 职场文书
护士岗前培训自我评鉴
2014/02/28 职场文书
《搭石》教学反思
2014/04/07 职场文书
副处级干部考察材料
2014/05/17 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
大学体育课感想
2015/08/10 职场文书
2019终止劳动合同协议书最新范本!
2019/07/09 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang
Go语言基础切片的创建及初始化示例详解
2021/11/17 Golang