当前位置:首页 > PHP教程 > php函数 > 列表

php 防注入与字符反过滤代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-25 14:16:29 浏览: 评论:0 

好了为php开发者提供了一款php sql 防注入与字符过滤以及各种过滤代码,实例如下:

  1. //==防注入自动过滤[启用后程序效率低]==
  2. /* 
  3. function inject_checks($sql_str){return eregi('select|insert|update|delete|'|/*|*|../|./|union|into|load_file|outfile', $sql_str);} 
  4. foreach ($_REQUEST as $value){if (inject_checks($value)){echo "<script language=javascript>alert('你提交的数据非法,请检查后重新提交!');</script>";exit;}} 
  5. */ 
  6. //==防注[inject_check($sql_str)]========================================================================================== 
  7. function inject_check($sql_str){ 
  8. if (eregi('select|insert|update|delete|union|into|load_file|outfile'$sql_str)){echo "<script language=javascript>alert('你提交的数据非法,请检查后重新提交!');</script>";exit;} 
  9. return $sql_str
  10. //==字符过滤[safe_convert($string)]============================================================================== 
  11. function safe_convert($string){ //Words Filter  
  12. if(get_magic_quotes_gpc()){ //转义字符 加上反斜线 
  13.         $string=htmlspecialchars($string, ENT_QUOTES); //将特殊字元转成HTML字串格式如 "&"转成"&amp;"  
  14.         $string=str_replace("<","&lt;",$string); //替换 
  15.         $string=str_replace(">","&gt;",$string); //替换 
  16.         $string=str_replace("\"'&#92;'$string); //替换   
  17.     } else {  
  18.         $string=addslashes($string); //转义字符 加上反斜线 //$string=stripslashes($string); //去掉反斜线 
  19.         $string=str_replace("\\"'&#92;'$string);  
  20.     }  
  21.     //$string=str_replace("r","<br/>",$string); //换行 
  22.     //$string=str_replace("n","",$string); //空格 
  23.     $string=str_replace("t","&nbsp;&nbsp;",$string); //空格 
  24.     $string=str_replace("  "," &nbsp;",$string); //空格 
  25.     //$string=str_replace('|', '&#124;', $string); //替换 同分类系统有冲突 
  26.     $string=str_replace("&amp;#96;","&#96;",$string); //替换 
  27.     $string=str_replace("&amp;#92;","&#92;",$string); //替换 
  28.     return $string;  
  29. }  
  30. //==字符反过滤[unsafe_convert($string)]============================================================================== 
  31. function unsafe_convert($string){ //Words Filter  
  32.     $string=str_replace("&#92;&quot;","&quot;",$string); //替换 
  33.     return $string;  
  34.  
  35. //==字符过滤[filter($string)]============================================================================================ 
  36. function filter($string){ //Words Filter  
  37. include("Filter.php");//词汇过滤列表 
  38. foreach($badwords as $badword){  
  39. if(stristr($string,$badword)==true){echo "<script language=javascript>alert('警告:你提交的内容含有敏感字眼,请更换内容。');</script>";exit;} //开源代码phpfensi.com 
  40. }  
  41. return $string;  

Tags: php防注入 php字符反过滤

分享到: