摘要:可以用檢測系統(tǒng)設(shè)置。簡單用法,添加轉(zhuǎn)義過濾也可以在項目程序初始化時應(yīng)用該方法構(gòu)造函數(shù)構(gòu)造應(yīng)用程序?qū)ο蟪跏蓟\行環(huán)境禁止處理被自動轉(zhuǎn)義過的數(shù)據(jù)解析被轉(zhuǎn)義過的數(shù)據(jù)配置
magic_quotes_gpc函數(shù)在php中的作用是判斷解析用戶提示的數(shù)據(jù),如包括有:post、get、cookie過來的數(shù)據(jù)增加轉(zhuǎn)義字符“”,以確保這些數(shù)據(jù)不會引起程序,特別是數(shù)據(jù)庫語句因為特殊字符(單引號,雙引號,反斜線)引起的污染而出現(xiàn)致命的錯誤。
在php的配置文件中,有個布爾值的設(shè)置,就是magic_quotes_runtime,當(dāng)它打開時,php的大部分函數(shù)自動的給從外部引入的(包括數(shù)據(jù)庫或者文件)數(shù)據(jù)中的溢出字符加上反斜線。 當(dāng)然如果重復(fù)給溢出字符加反斜線,那么字符串中就會有多個反斜線,所以這時就要用set_magic_quotes_runtime()與get_magic_quotes_runtime()設(shè)置和檢測php.ini文件中magic_quotes_runtime狀態(tài)。 為了使自己的程序不管服務(wù)器是什么設(shè)置都能正常執(zhí)行??梢栽诔绦蜷_始用get_magic_quotes_runtime檢測該設(shè)置的狀態(tài)決定是否要手工處理,或者在開始(或不需要自動轉(zhuǎn)義的時候)用set_magic_quotes_runtime(0)關(guān)掉該設(shè)置。
magic_quotes_gpc設(shè)置是否自動為GPC(get,post,cookie)傳來的數(shù)據(jù)中的""加上反斜
線。可以用get_magic_quotes_gpc()檢測系統(tǒng)設(shè)置。如果沒有打開這項設(shè)置,可以使用
addslashes()函數(shù)添加,它的功能就是給數(shù)據(jù)庫查詢語句等的需要在某些字符前加上了反斜線。這些字符是單引號(")、雙引號(")、反斜線()與 NUL(NULL 字符)。
簡單用法,添加轉(zhuǎn)義過濾:
if(!get_magic_quotes_gpc()) { addslashes($prot); }
也可以在項目程序初始化時應(yīng)用該方法:
/** * 構(gòu)造函數(shù) * * 構(gòu)造應(yīng)用程序?qū)ο? */ protected function __construct() { // 1.初始化運行環(huán)境 // 1.1 禁止 magic quotes set_magic_quotes_runtime(0); // 1.2 處理被 magic_quotes_gpc 自動轉(zhuǎn)義過的數(shù)據(jù) if (get_magic_quotes_gpc()) { $in = array(& $_GET, & $_POST, & $_COOKIE, & $_REQUEST); while (list ($k, $v) = each($in)) { foreach ($v as $key => $val) { if (! is_array($val)) { // 解析被轉(zhuǎn)義過的數(shù)據(jù) $in[$k][$key] = stripslashes($val); continue; } $in[] = & $in[$k][$key]; } } unset($in); } }
php配置:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/21856.html
摘要:程序為了防注入或者溢出,通過指令自動在雙引號單引號反斜杠前面添加反斜杠。用法,輸出的結(jié)果就是去掉反斜杠的。解決辦法就是可以使用函數(shù)進(jìn)行檢測,如果是打開的狀態(tài),那么就去除反斜杠,如果是關(guān)閉的狀態(tài),則不去除反斜杠。 PHP程序為了防注入或者溢出,通過PHP 指令 magic_quotes_gpc自動在雙引號、單引號、反斜杠、NULL前面添加反斜杠。 默認(rèn)PHP 指令 magic_quote...
摘要:由于越來越多的項目開始使用框架,所以,很多的程序員也不在關(guān)心安全的問題因為框架已經(jīng)幫我們幾乎完美的處理了但是,個人認(rèn)為,我們還是需要了解一下常用的安全處理函數(shù)原因簡單很多小的功能和項目是用不到框架的,我們需要自己解決安全問題常用的安全函數(shù)有 由于越來越多的項目開始使用框架,所以,很多的程序員也不在關(guān)心安全的問題!因為框架已經(jīng)幫我們幾乎完美的處理了!但是,個人認(rèn)為,我們還是需要了解一下常...
摘要:中的是配置在中的,他的作用類似,就是對輸入的字符創(chuàng)中的字符進(jìn)行轉(zhuǎn)義處理。描述返回字符串,該函數(shù)可用于清理從數(shù)據(jù)庫中或者從表單中取回的數(shù)據(jù) php中的magic_quotes_gpc是配置在php.ini中的,他的作用類似addslashes(),就是對輸入的字符創(chuàng)中的字符進(jìn)行轉(zhuǎn)義處理。他可以對$_POST、$__GET以及進(jìn)行數(shù)據(jù)庫操作的sql進(jìn)行轉(zhuǎn)義處理,防止sql注入。 對于PHP...
摘要:原文譯文有用的安全函數(shù)譯者安全是編程非常重要的一個方面。一起看看中常用的可以確保項目安全的函數(shù)?,F(xiàn)在這個函數(shù)并不被認(rèn)為是安全的,因為開源的數(shù)據(jù)庫可以反向檢查一個散列值的明文。也不要把絕對安全寄托在這個函數(shù)上,否則會有意想不到的結(jié)果。 showImg(https://segmentfault.com/img/bVksck); 原文:Useful functions to provide...
摘要:所以在各種的開發(fā)語言中,都會提供保證用戶輸入數(shù)據(jù)安全的函數(shù)。不要笑,我知道這不是一個和安全相關(guān)的函數(shù),它是在將變量轉(zhuǎn)成整數(shù)類型。但是,你可以用這個函數(shù)讓你的代碼更安全,特別是當(dāng)你在解析,年齡這樣的數(shù)據(jù)時。 在現(xiàn)代互聯(lián)網(wǎng)中,我們經(jīng)常要 從世界各地的用戶中獲得輸入數(shù)據(jù)。但是,我們都知道永遠(yuǎn)不能相信那些用戶輸入的數(shù)據(jù)。所以在各種的Web開發(fā)語言中,都會提供保證用戶輸入數(shù)據(jù)安全的函數(shù)。在PHP...
閱讀 1947·2023-04-26 02:32
閱讀 634·2021-11-18 13:12
閱讀 2516·2021-10-20 13:48
閱讀 2608·2021-10-14 09:43
閱讀 3914·2021-10-11 10:58
閱讀 3722·2021-09-30 10:00
閱讀 2997·2019-08-30 15:53
閱讀 3546·2019-08-30 15:53