magic_quotes_gpc 魔法函數存在於PHP 5.3.4及以下版本,作用是對POST、GET、Cookie傳入的數據進行轉義處理,在輸入數據的特殊字符如 單引號(')、雙引號(")、反斜線(\)與 NULL(NULL 字符)
等字符前加入轉義字符"\"
。
- 在PHP版本
<=5.2.7
中,,該選項是默認開啓的(on),即默認爲所有接收數據進行轉義處理
- 在PHP版本
>5.2.7,<=5.3.4
中,該選項還保留,但是是默認關閉狀態(off)
- 在PHP版本
>5.3.4
中,該選項已經被刪除,所有的轉義處理都需要工程師手動進行。
該魔法函數的存在是因爲有一些危險數據會直接對數據庫造成危害,比如注入等漏洞。
起初這個自動化轉義處理的功能的確會帶來極大的便利,但是由於工程師們過分依賴該選項,導致一些特殊的數據不會被做轉義處理,還是會被利用並攻擊,所以在後續的PHP版本中取消了該選項,所有的數據必須手動進行轉義處理。