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