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

 更新时间:2013年07月02日 15:20:10   作者:  
本篇文章是对php中过滤html字符串,防止SQL注入的方法进行了详细的分析介绍,需要的朋友参考下
批量过滤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 + nginx项目中的权限详解

    php + nginx项目中的权限详解

    这篇文章主要给大家介绍了关于php + nginx项目中权限的相关资料,文章介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • 利用PHPExcel实现Excel文件的写入和读取

    利用PHPExcel实现Excel文件的写入和读取

    本篇文章主要介绍了利用PHPExcel实现Excel文件的写入和读取的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • php实现比较全的数据库操作类

    php实现比较全的数据库操作类

    这篇文章主要介绍了php实现比较全的数据库操作类,可实现基本的数据库连接、执行SQL语句及错误提示等相关技巧,需要的朋友可以参考下
    2015-06-06
  • PHP实现字符串大小写转函数的功能实例

    PHP实现字符串大小写转函数的功能实例

    这篇文章主要给大家介绍了关于利用PHP如何实现字符串大小写转函数功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友一起来看看啊
    2019-02-02
  • PHP基于mssql扩展远程连接MSSQL的简单实现方法

    PHP基于mssql扩展远程连接MSSQL的简单实现方法

    这篇文章主要介绍了PHP基于mssql扩展远程连接MSSQL的简单实现方法,涉及php操作mssql的简单连接、查询、遍历与输出相关操作技巧,需要的朋友可以参考下
    2016-10-10
  • php+resumablejs实现的分块上传 断点续传功能示例

    php+resumablejs实现的分块上传 断点续传功能示例

    这篇文章主要介绍了php+resumablejs实现的分块上传 断点续传功能,结合实例形式分析了php+resumablejs文件传输的具体实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • php获取网站百度快照日期的方法

    php获取网站百度快照日期的方法

    这篇文章主要介绍了php获取网站百度快照日期的方法,涉及php页面读取及正则匹配的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • PHP正则判断一个变量是否为正整数的方法

    PHP正则判断一个变量是否为正整数的方法

    今天小编就为大家分享一篇关于PHP正则判断一个变量是否为正整数的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • THINKPHP支持YAML配置文件的设置方法

    THINKPHP支持YAML配置文件的设置方法

    这篇文章主要介绍了THINKPHP支持YAML配置文件的设置方法,本文讲解了为什么要用 yaml以及在THINKPHP中的配置方法,需要的朋友可以参考下
    2015-03-03
  • PHP预定义超全局数组变量小结

    PHP预定义超全局数组变量小结

    这篇文章主要介绍了PHP预定义超全局数组变量,结合实例形式总结分析了预定义超全局数组变量的特性、功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-08-08

最新评论