Get或Post提交值的非法数据处理
author:一佰互联 2019-05-01   click:212
Get或Post提交值的非法数据处理<?php//********************************************************//-- 程序名称: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;$i<sizeof($this->TempArray);$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<count($_POST);$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),"<br>",$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;$i<sizeof($this->VariableArray);$i++){global $$this->VariableArray[$i][0];${$this->VariableArray[$i][0]} = $this->VariableArray[$i][1];}}}?>