魔術引號(Magic Quote)是一個自動將進入 PHP 腳本的資料進行轉義的過程。最好在編碼時不要轉義而在運行時根據需要而轉義。
當開啟時,所有的 '(單引號),"(雙引號),\(反斜線)和 NULL 字元都會被自動加上一個反斜線進行轉義。這和 addslashes() 作用完全相同。
一共有三個魔術引號指令:
magic_quotes_gpc
影響到 HTTP 請求資料(GET,POST 和 COOKIE)。不能在運行時改變。在 PHP 中預設值為 on。
參見 get_magic_quotes_gpc()。
magic_quotes_runtime
若果開啟的話,大部份從外部來源取得資料並返回的函數,內含從資料庫和文字檔案,所返回的資料都會被反斜線轉義。該選項可在運行的時改變,在 PHP 中的預設值為 off。
參見 set_magic_quotes_runtime() 和 get_magic_quotes_runtime()。
magic_quotes_sybase
若果開啟的話,將會使用單引號對單引號進行轉義而非反斜線。此選項會完全覆蓋 magic_quotes_gpc。若果同時開啟兩個選項的話,單引號將會被轉義成 ''。而雙引號、反斜線 和 NULL 字元將不會進行轉義。
如何取得其值參見 ini_get()。