频道栏目
首页 > 资讯 > 网站安全 > 正文

php防注入函数代码

10-01-12        来源:[db:作者]  
收藏   我要投稿

独自等待

在做php程序的时候,大家都比较重视网站安全这块,那么在php中是如何防注入的呢?

php本身自带的一个函数addslaches() 这个函数功能有点弱,不能让人太放心

现在和大家分享一个简单的方法:

新建一个文件保存为checkpostandget.php
然后在每个php文件前加include(“checkpostandget.php“);即可
 <?php
  /*************************
  说明:
  判断传递的变量中是否含有非法字符
  如$_POST、$_GET
  功能:
  防注入
  **************************/
  //要过滤的非法字符
  $ArrFiltrate=array("",";","union");
  //出错后要跳转的url,不填则默认前一页
  $StrGoUrl="";
  //是否存在数组中的值
  function FunStringExist($StrFiltrate,$ArrFiltrate){
  foreach ($ArrFiltrate as $key=>$value){
   if (eregi($value,$StrFiltrate)){
   return true;
   }
   }
  return false;
  }
  //合并$_POST 和 $_GET
  if(function_exists(array_merge)){
   $ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
  }else{
   foreach($HTTP_POST_VARS as $key=>$value){
   $ArrPostAndGet[]=$value;
   }
   foreach($HTTP_GET_VARS as $key=>$value){
   $ArrPostAndGet[]=$value;
   }
  }
  //验证开始
  foreach($ArrPostAndGet as $key=>$value){
   if (FunStringExist($value,$ArrFiltrate)){
   echo "<script language="javascript">alert("非法字符");</script>";
   if (empty($StrGoUrl)){
   echo "<script language="javascript">history.go(-1);</script>";
   }else{
   echo "<script language="javascript">window.location="".$StrGoUrl."";</script>";
   }
   exit;
   }
  }
  ?>

 以过网络查找,作者把代码改写了一下,以下是改写的内容!

 if(function_exists(array_merge)){
$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
}else{
foreach($HTTP_POST_VARS as $key=>$value){
$ArrPostAndGet[]=$value;
}
foreach($HTTP_GET_VARS as $key=>$value){
$ArrPostAndGet[]=$value;
}
}
改成
foreach($HTTP_POST_VARS as $key=>$value){
$ArrPostAndGet[]=$value;
}
foreach($HTTP_GET_VARS as $key=>$value){
$ArrPostAndGet[]=$value;
}

相关TAG标签
上一篇:QQ名字 smileˉˉ妖妖≤咬 n1 非主流网名
下一篇:一次渗透分析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站