なぜマジッククオートを使用しないのか

警告

この機能は PHP 5.3.0 で 非推奨となり、 PHP 5.4.0 で削除されました。

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