Php/docs/security.magicquotes.whynot

提供:Dev Guides
< Php
2020年12月14日 (月) 12:15時点におけるNotes (トーク | 投稿記録)による版 (autoload)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

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

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


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