• PHP通用防注入安全代码


    简述:
    /*************************
    说明:
    判断传递的变量中是否含有非法字符
    如$_POST、$_GET
    功能:
    防注入
    **************************/  
    <?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(\\"Neeao提示,非法字符\\");</script>";
    if (empty($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“);即可

  • 相关阅读:
    第八次作业
    设计一款给爸爸妈妈用的手机
    第五次作业
    第四次作业(项目分析)
    第二次作业(个人项目实践)
    即时通讯软件的发展演变
    C++用法的学习心得
    JavaScript(变量、作用域和内存问题)
    一、Java和JavaScript
    使用Hyper-V创建虚拟机
  • 原文地址:https://www.cnblogs.com/top5/p/1539696.html
Copyright © 2020-2023  润新知