• PHP通用防注入安全代码《转》


     1 /************************* 
     2 说明: 
     3 判断传递的变量中是否含有非法字符 
     4 如$_POST、$_GET 
     5 功能: 
     6 防注入 
     7 **************************/  
     8 <?php 
     9 //要过滤的非法字符 
    10 $ArrFiltrate=array("\'\'",";","union"); 
    11 //出错后要跳转的url,不填则默认前一页 
    12 $StrGoUrl=""; 
    13 //是否存在数组中的值 
    14 function FunStringExist($StrFiltrate,$ArrFiltrate){ 
    15 foreach ($ArrFiltrate as $key=>$value){ 
    16 if (eregi($value,$StrFiltrate)){ 
    17 return true; 
    18 } 
    19 } 
    20 return false; 
    21 } 
    22 //合并$_POST 和 $_GET 
    23 if(function_exists(array_merge)){ 
    24 $ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS); 
    25 }else{ 
    26 foreach($HTTP_POST_VARS as $key=>$value){ 
    27 $ArrPostAndGet[]=$value; 
    28 } 
    29 foreach($HTTP_GET_VARS as $key=>$value){ 
    30 $ArrPostAndGet[]=$value; 
    31 } 
    32 } 
    33 //验证开始 
    34 foreach($ArrPostAndGet as $key=>$value){ 
    35 if (FunStringExist($value,$ArrFiltrate)){ 
    36 echo "<script language=\\"javascript\\">alert(\\"Neeao提示,非法字符\\");</script>"; 
    37 if (empty($StrGoUrl)){ 
    38 echo "<script language=\\"javascript\\">history.go(-1);</script>"; 
    39 }else{ 
    40 echo "<script language=\\"javascript\\">window.location=\\"".$StrGoUrl."\\";</script>"; 
    41 } 
    42 exit; 
    43 } 
    44 } 
    45 ?> 

    保存为checkpostandget.php  
    然后在每个php文件前加include(“checkpostandget.php“);即可

  • 相关阅读:
    寒假一:打印沙漏
    秋季学期总结
    三位我尊敬的老师
    自我介绍
    polay计数原理
    2020-2021 ACM-ICPC, Asia Seoul Regional Contest
    2017-2018 ACM-ICPC Northern Eurasia(A.Archery Tournament)
    FTT简单入门板子
    佩尔方程最小解模板
    求组合数
  • 原文地址:https://www.cnblogs.com/LceMeaning/p/2838396.html
Copyright © 2020-2023  润新知