什麼是魔術引號
當打開時,所有的 '(單引號),"(雙引號),/(反斜線)和 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()。
與allslashes()功能相對的是stripslashes(),它能去掉addslashes()所加的反斜線,恢復爲最初的字符串,包括%00等一類的字符。
ubuntu下修改magic_quotes_gpc的方法:
修改/etc/php5/apache2/php.ini