?
先看代碼實現:
/* 對用戶傳入的變量進行轉義操作。*/ if (!get_magic_quotes_gpc()) {if (!empty($_GET)){$_GET = addslashes_deep($_GET);}if (!empty($_POST)){$_POST = addslashes_deep($_POST);}$_COOKIE = addslashes_deep($_COOKIE);$_REQUEST = addslashes_deep($_REQUEST); }/*** 遞歸方式的對變量中的特殊字符進行轉義** @access public* @param mix $value** @return mix*/ function addslashes_deep($value) {if (empty($value)){return $value;}else{return is_array($value) ? array_map('addslashes_deep', $value) : addslashes($value);} }
?
?
函數解釋:
get_magic_quotes_gpc() :
功能: 取得 PHP 環境變數 magic_quotes_gpc 的值。
語法: long get_magic_quotes_gpc(void);
傳回值: 長整數
函式種類: PHP 系統功能
本函式取得 PHP 環境設定的變數 magic_quotes_gpc(GPC, Get/Post/Cookie) 值。傳回 0 表示關閉本功能;傳回 1 表示本功能開啟。當magic_quotes_gpc 開啟時,所有的 '(單引號), " (雙引號), \(反斜線) 和 空字符會 自動轉為含有反斜線的溢出字符。
get_magic_quotes_gpc的功能為: 是否為GET、POST、COOKIE傳來的數據中的‘ 單引號 “”雙引號 \反斜線 加上反斜線
如果get_magic_quotes_gpc = ON ,則返回1,PHP解析器就會自動為post、get、cookie過來的數據增加轉義字符“\”,以確保這些數據不會引起程序,特別 是數據庫語句因為特殊字符引起的污染而出現致命的錯誤。
?
?addslashes() :
?
功能: 使用反斜線引用字符串
?
語法: string addslashes ( string str)
?
返回值: 返回字符串,該字符串為了數據庫查詢語句等的需要在某些字符前加上了反斜線。這些字符是單引號(')、雙引號(")、反斜線()以及(NULL 字符)。
?
?
?