ホームページ >バックエンド開発 >PHPチュートリアル >送信された値の取得または投稿の不正なデータ処理_PHP チュートリアル
送信された値の取得または投稿の不正なデータ処理
//*************************************************** * ****
//-- プログラム名: StrSwap V1.01
//-- プログラム作成: [email]cngift@163.com[/email]
//-- 完成: 2002-8-1
/ /-- プログラムの目的: 送信された値の取得または投稿の不正なデータ処理
//-- 注: このプログラムは、自動的に実行できるように、すべてのプログラム処理の前にロードして使用する必要があります
//--プログラム内で使用されている変数の置き換え
/ /-- 重大なバグ発見のため緊急アップグレード
//-- Copyright By cngift ◎ 2002
//**************** ************** *******************************
クラス StrSwap{
//Get モードで変数を送信するときに変数を接続するために使用される接続 Symbol
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
$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)]); _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;$i
global $$this->VariableArray[$i][0];
${$this->VariableArray[$i][0]} = $this->VariableArray[$i][1];
}
}
}
?>