您现在的位置是:门户> 编程语言> PHP

Get或Post提交值的非法数据处理
2020-03-11 42人围观 0条评论
简介Get或Post提交值的非法数据处理

    Get或Post提交值的非法数据处理
    //********************************************************
    //-- 程序名称:StrSwap V1.01
    //-- 程序编写:[email]cngift@163.com[/email]
    //-- 完成: 2002-8-1
    //-- 程序用途:Get或Post提交值的非法数据处理
    //-- 备注: 本程序需要加载在所有程序处理前使用,以便自动进行
    //-- 程序中使用的变量的替换
    //-- 由于发现严重BUG紧急升级
    //-- Copyright By cngift ◎ 2002
    //********************************************************

    class StrSwap{

    //当以Get方式提交变量时用于连接变量的连接符
    var $GetSplitStr = "&&";
    var $TempArray = array();
    var $VariableArray = array();

    //********************************************************
    //-- 程序名称:Main()
    //-- 程序用途:本类的默认运行方式
    //-- 传入参数:无
    //********************************************************

    function Main(){

    global $REQUEST_METHOD;
    if("GET"==$REQUEST_METHOD){

    $this->SubGetStrToArray();

    }
    if("POST"==$REQUEST_METHOD){

    $this->SubPostStrToArray();

    }

    $this->GlobalVariable();



    }

    //********************************************************
    //-- 程序名称:SubGetStrToArray()
    //-- 程序用途:当变量以Get方式提交时所调用的方法
    //-- 传入参数:无
    //********************************************************

    function SubGetStrToArray(){

    global $QUERY_STRING;
    $this->TempArray = explode($this->GetSplitStr,$QUERY_STRING);

    for($i=0;$iTempArray);$i++){

    $temp = explode('=',$this->TempArray[$i]);
    $this->VariableArray[$i][0] = $temp[0];
    $this->VariableArray[$i][1] = $this->StrReplace($temp[1]);

    }

    }

    //********************************************************
    //-- 程序名称:SubPostStrToArray()
    //-- 程序用途:当变量以POST方式提交时所调用的方法
    //-- 传入参数:无
    //********************************************************

    function SubPostStrToArray(){

    global $_POST;
    reset($_POST);
    for($i=0;$i
    $this->VariableArray[$i][0] = key($_POST);
    $this->VariableArray[$i][1] = $this->StrReplace($_POST[key($_POST)]);
    next($_POST);
    }

    }

    //********************************************************
    //-- 程序名称:StrReplace()
    //-- 程序用途:替换变量中的非法字符
    //-- 传入参数:变量值
    //********************************************************

    function StrReplace($str){

    $str = StripSlashes($str);
    $str = str_replace(chr(92),'',$str);
    $str = str_replace(chr(47),'',$str);
    $str = str_replace(chr(10).chr(13),"
    ",$str);
    $str = str_replace('<',"<",$str);
    $str = str_replace('>',">",$str);
    $str = str_replace(';',";",$str);
    $str = str_replace('"',"“",$str);
    $str = str_replace("'","‘",$str);
    $str = str_replace(" "," ",$str);
    $str = str_replace("/**/"," ",$str);

    return trim($str);

    }

    //********************************************************
    //-- 程序名称:GlobalVariable()
    //-- 程序用途:声明变量为全局变量方便其他程序调用
    //-- 传入参数:无
    //********************************************************

    function GlobalVariable(){

    for($i=0;$iVariableArray);$i++){

    global $$this->VariableArray[$i][0];
    ${$this->VariableArray[$i][0]} = $this->VariableArray[$i][1];

    }

    }

    }

    ?>
分享:

文章评论