なぜマジッククオートを使用しないのか
-
移植性
これがonであることを仮定すると、移植性に影響します。 この確認のために get_magic_quotes_gpc() を 使用し、適切なコーディングを行ってください。
-
性能
エスケープされたデータが全てデータベースに挿入されるわけではないので、 このように全てのデータをエスケープすることは性能を低下させます。 単に( addslashes() のような)エスケープを行う関数を 実行時にコールする方がより効率的です。
php.ini-dist はこれらのディレクティブを デフォルトで有効にしていますが、 php.ini-recommended はこれを無効にしています。 この推奨は主に性能面によるものです。
-
不便
全てのデータをエスケープする必要はないため、しばしば、 エスケープするべきではないデータまでエスケープされてしまう問題に 悩まされることになります。例えば、フォームからメールを送信する際、 emailの中に多くの \' が含まれることになります。 これを修正するために、 stripslashes() を大量に使用することが必要と なる可能性があります。