Magic Quotes 的問題

以前不是 UTF8 編碼的時候,常常會有特殊字元(許功蓋),或是 ‘ 字元的問題,而 Magic quotes 可以幫你在遇到特殊字元的時候加上 \ 這個跳脫字元,避免特殊字元影響語法或是 SQL Injection。但在 UTF8 的環境中,這個功能卻不是那麼必要。只要在 DB Driver 處理的好,其實 Magic Quotes 在 PHP 內的設定可以關閉,避免語法判斷錯誤。

在新版的 PHP5 內,預設 Magic Quotes 是開啟的(我習慣用Debian),要關起來的方法是從 php.ini 內設定

; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On

請設定為 Off ,這影響到 $_POST, $_GET 傳入的資料。

另外
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off

也請設定為 Off ,這會影響到 mysql_query() 和 exec() 的資料。

Posted in Programming
3 comments on “Magic Quotes 的問題
  1. Cating says:

    變成教學網站了耶

  2. 好像废弃了吧,不推荐使用

Leave a Reply

Your email address will not be published.