源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PHP防注入安全代码

  • 时间:2020-01-31 07:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PHP防注入安全代码
简述:/*************************    说明:    判断传递的变量中是否含有非法字符    如$_POST、$_GET    功能:防注入    **************************/      
[u]复制代码[/u] 代码如下:
<?php      //要过滤的非法字符      $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 (emptyempty($StrGoUrl)){          echo "<script language=\"javascript\">history.go(-1);</script>";          }else{          echo "<script language=\"javascript\">window.location=\"".$StrGoUrl."\";</script>";          }          exit;        }      }      ?> 
     保存为checkpostandget.php      然后在每个php文件前加include(“checkpostandget.php“);即可      [b]方法2[/b]     
[u]复制代码[/u] 代码如下:
/* 过滤所有GET过来变量 */     foreach ($_GET as $get_key=>$get_var)      {      if (is_numeric($get_var)) {        $get[strtolower($get_key)] = get_int($get_var);      } else {        $get[strtolower($get_key)] = get_str($get_var);      }      }      /* 过滤所有POST过来的变量 */     foreach ($_POST as $post_key=>$post_var)      {      if (is_numeric($post_var)) {        $post[strtolower($post_key)] = get_int($post_var);      } else {        $post[strtolower($post_key)] = get_str($post_var);      }      }      /* 过滤函数 */     //整型过滤函数      function get_int($number)      {          return intval($number);      }      //字符串型过滤函数      function get_str($string)      {          if (!get_magic_quotes_gpc()) {      return addslashes($string);          }          return $string;      }
       
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部