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