浅析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 相关文章推荐
新闻分类录入、显示系统
Oct 09 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
深入php函数file_get_contents超时处理的方法详解
Jun 03 PHP
PHP之生成GIF动画的实现方法
Jun 07 PHP
php不用正则验证真假身份证
Nov 06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 PHP
smarty中post用法实例
Nov 28 PHP
PHP判断密码强度的方法详解
May 26 PHP
PHP调用其他文件中的类
Apr 02 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
Apr 24 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
php取得字符串首字母的方法
2015/03/25 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
php给数组赋值的实例方法
2019/09/26 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
JQuery ztree带筛选、异步加载实例讲解
2016/02/25 Javascript
JQuery异步加载PartialView的方法
2016/06/07 Javascript
原生js实现网易轮播图效果
2020/04/10 Javascript
jQuery实现表格与ckeckbox的全选与单选功能
2016/11/24 Javascript
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
JavaScript实现打砖块游戏
2020/02/25 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
python多线程编程中的join函数使用心得
2014/09/02 Python
举例讲解Python中is和id的用法
2015/04/03 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
J2EE系统只能是基于web
2015/09/08 面试题
人民教师的自我评价分享
2014/02/21 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
财务管理专业求职信
2014/06/11 职场文书
加薪申请报告范本
2015/05/15 职场文书
红色革命电影观后感
2015/06/18 职场文书
竞选稿之小学班干部
2019/10/31 职场文书