深入PHP magic quotes的詳解
特地查看了下手冊(cè),關(guān)于php magic quotes,常見(jiàn)的幾個(gè)設(shè)置如下,magic_quotes_gpc,magic_quotes_sybase,magic_quote_runtime,這幾個(gè)函數(shù)是在php.ini中去配置的,從手冊(cè)中可以看出從php5.3后已經(jīng)廢除了這些特性,所以強(qiáng)烈大家不要使用,在php.ini中關(guān)閉它。

這些函數(shù)的作用是對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)義。防止sql注入的時(shí)候,很多人會(huì)這樣寫(xiě):
if(!get_magic_quotes_gpc()){
$post=addslashes($post);
}
如果開(kāi)啟了它們,會(huì)自動(dòng)給你轉(zhuǎn)義單引號(hào)(')、雙引號(hào)(")、反斜線(\)與 NUL(null字符),其實(shí)就相當(dāng)于調(diào)用addslashes函數(shù)。你可能會(huì)說(shuō)這樣不是很好嘛,安全性更高了,但是,你考慮代碼移植性了嗎?另外,對(duì)于上所有g(shù)pc($_GET,$_POST,$_COOKIE)的數(shù)據(jù)你都進(jìn)行轉(zhuǎn)義是否有必要?開(kāi)銷(xiāo)有多大?下面PHP點(diǎn)點(diǎn)通(phpddt.com)就對(duì)手冊(cè)中關(guān)于Magic Quotes的詳細(xì)說(shuō)明:
1.magic_quotes_gpc
magic_quotes_gpc這個(gè)是用來(lái)設(shè)置GPC($_GET、$_POST、$_COOKIE)的魔術(shù)引用狀態(tài)(在PHP4中也包含$_ENV)。當(dāng)開(kāi)啟時(shí),所有的單引號(hào)(single-quote),雙引號(hào)(double quote),反斜線(backslash)和NUL's會(huì)被反斜線自動(dòng)轉(zhuǎn)義。當(dāng)開(kāi)啟magic_quote_sybase為on時(shí),只有單引號(hào)(singgle-quote)會(huì)被單引號(hào)轉(zhuǎn)義為'',雙引號(hào)、反斜線(backslash)和NUL's不受影響不會(huì)被轉(zhuǎn)義。

2.magic_quote_runtime
magic_quote_runtime如果開(kāi)啟該選項(xiàng),許多返回外部數(shù)據(jù)(數(shù)據(jù)庫(kù)、文本)的函數(shù)將會(huì)被反斜線(backslash)轉(zhuǎn)義。如果也開(kāi)啟magic_quote_sybase,則只有單引號(hào)(single-quote)會(huì)被單引號(hào)轉(zhuǎn)義。

3.magic_quotes_sybase
magic_quotes_sybase如果設(shè)置此選項(xiàng)開(kāi)啟、在magic_quotes_gpc,magic_quotes_runtime開(kāi)啟的情況下單引號(hào)‘會(huì)被單引號(hào)'轉(zhuǎn)移而不是被反斜線\轉(zhuǎn)義。同時(shí)、此設(shè)置會(huì)完全覆蓋magic_quotes_gpc的設(shè)置,即使magic_quotes_gpc被設(shè)置為on,雙引號(hào)“、反斜線\和NUL's也不會(huì)被轉(zhuǎn)義。

相關(guān)文章
php+ajax實(shí)時(shí)刷新簡(jiǎn)單實(shí)例
這篇文章主要介紹了php+ajax實(shí)時(shí)刷新簡(jiǎn)單實(shí)現(xiàn)方法,實(shí)例分析了Ajax的實(shí)現(xiàn)原理以及對(duì)應(yīng)的php處理文件基本原理與操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
php字符串函數(shù) str類(lèi)常見(jiàn)用法示例
這篇文章主要介紹了php字符串函數(shù) str類(lèi)常見(jiàn)用法,結(jié)合實(shí)例形式分析了php字符串函數(shù)常見(jiàn)操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2020-05-05
PHP實(shí)現(xiàn)通過(guò)URL提取根域名
本文給大家分享的是個(gè)人在做項(xiàng)目的時(shí)候遇到的,需要通過(guò)php實(shí)現(xiàn)從URL中提取根域名的代碼以及實(shí)現(xiàn)思路,有需要的小伙伴可以參考下2016-03-03
PHP轉(zhuǎn)盤(pán)抽獎(jiǎng)接口實(shí)例
這篇文章主要介紹了PHP轉(zhuǎn)盤(pán)抽獎(jiǎng)接口的實(shí)現(xiàn)方法,實(shí)例分析了隨機(jī)抽獎(jiǎng)接口的實(shí)現(xiàn)原理與對(duì)應(yīng)數(shù)據(jù)庫(kù)操作的技巧,需要的朋友可以參考下2015-02-02
PHP實(shí)現(xiàn)的同步推薦操作API接口案例分析
這篇文章主要介紹了PHP實(shí)現(xiàn)的同步推薦操作API接口案例,結(jié)合具體實(shí)例形式分析了同步推薦操作具體的功能、接口、方法、參數(shù)及相關(guān)使用技巧,需要的朋友可以參考下2016-11-11
php 數(shù)組字符串搜索array_search技巧
本文給大家總結(jié)了一下PHP實(shí)現(xiàn)數(shù)組字符串搜索的幾種使用技巧,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下2016-07-07

