浅析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 25 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
Jun 24 PHP
php实现利用phpexcel导出数据
Aug 24 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
详解PHP中的PDO类
Jul 06 PHP
Smarty高级应用之缓存操作技巧分析
May 14 PHP
thinkPHP中钩子的两种配置调用方法详解
Nov 11 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 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扩展
2013/06/13 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
2014/06/12 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
2016/05/20 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
js 代码集(学习js的朋友可以看下)
2009/07/22 Javascript
javascript时间自动刷新实现原理与步骤
2013/01/06 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
Web技术实现移动监测的介绍
2017/09/18 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
js实现贪吃蛇游戏(简易版)
2020/09/29 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
简单的python协同过滤程序实例代码
2018/01/31 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
pygame实现飞机大战
2020/03/11 Python
flask开启多线程的具体方法
2020/08/02 Python
python 自动识别并连接串口的实现
2021/01/19 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
土木建筑学生自我评价
2014/01/14 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
学校督导评估方案
2014/06/10 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
Oracle更换为MySQL遇到的问题及解决
2021/05/21 Oracle