登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Perfect-World

以無法為有法,以無限為有限!

 
 
 

日志

 
 

php 防注入  

2009-04-09 10:25:08|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  1. <?php
  2. /*************************
  3. 说明:判断传递的变量中是否含有非法字符,如$_POST、$_GET
  4. 功能:防注入
  5. 作者:UUMiss
  6. **************************/
  7. //要过滤的非法字符
  8. $ArrFiltrate=array("'",";","union");
  9. //出错后要跳转的url,不填则默认前一页
  10. $StrGoUrl="";
  11. //是否存在数组中的值
  12. function FunStringExist($StrFiltrate,$ArrFiltrate){
  13. foreach ($ArrFiltrate as $key=>$value){
  14.    if (eregi($value,$StrFiltrate)){
  15.        return true;
  16.    }
  17.  }
  18. return false;
  19. }
  20. //合并$_POST 和 $_GET
  21. if(function_exists(array_merge)){
  22.    $ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
  23. }else{
  24.    foreach($HTTP_POST_VARS as $key=>$value){
  25.        $ArrPostAndGet[]=$value;
  26.    }
  27.    foreach($HTTP_GET_VARS as $key=>$value){
  28.        $ArrPostAndGet[]=$value;
  29.    }
  30. }
  31. //验证开始
  32. foreach($ArrPostAndGet as $key=>$value){
  33.    if (FunStringExist($value,$ArrFiltrate)){
  34.        echo "<script language=\"javascript\">alert(\"非法字符\");</script>";
  35.        if (empty($StrGoUrl)){
  36.        echo "<script language=\"javascript\">history.go(-1);</script>";
  37.        }else{
  38.        echo "<script language=\"javascript\">window.location=\"".$StrGoUrl."\";</script>";
  39.        }
  40.        exit;
  41.    }
  42. }
  43. ?>
网管网bitsCN.com
保存为CHKPostVSGet.php
然后在每个php文件前加include(“CHKPostVSGet.php“);即可
  评论这张
 
阅读(896)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018