ユーザが投稿したデータ
なぜマジッククオートを使用するのか
セキュリティ
PHP Manual

# マジッククオート

## 目次

- なぜマジッククオートを使用するのか
- なぜマジッククオートを使用しないのか
- マジッククオートを無効にする

警告

この機能は 非推奨 であり、PHP 6.0.0 で 削除 されます。この機能を使用しないことを強く推奨します。

マジッククオートは、PHPスクリプトに入力されるデータを 自動的にエスケープする機能です。 コードでは、マジッククオートをオフにして 実行する際必要な時にデータをエスケープすることが望まれます。

## マジッククオートとは

オンの場合、全ての' (シングルクオート), " (ダブルクオート), \ (バックスラッシュ)およびNULL 文字がバックスラッシュで自動的にエスケープされます。 これは、addslashes() の機能と同じです。

3種類のマジッククオートディレクティブを以下に示します。

- magic_quotes_gpc HTTPリクエストデータ(GET, POST, そして COOKIE)に作用します。 実行時に設定することはできません。 PHPのデフォルトは、onです。 get_magic_quotes_gpc()も参照してください。
- magic_quotes_runtime 有効な場合、データベースやテキストファイルを含む 外部ソースからデータを返す関数の多くは、 バックスラッシュをクオートでエスケープします。 実行時に設定することができ、PHPでのデフォルトは offです。 set_magic_quotes_runtime()および get_magic_quotes_runtime()も参照してください。
- magic_quotes_sybase 有効な場合、シングルクオートはバックスラッシュではなくシングルクオートで エスケープされます。 onの場合、 magic_quotes_gpc の指定を完全に上書きします。 これら両方のディレクティブを有効にすると、シングルクオートは ''とエスケープされます。 ダブルクオートやNULLはそのままとなり、エスケープされません。 この値を取得するには、 ini_get()も参照してください。

ユーザが投稿したデータ
なぜマジッククオートを使用するのか
セキュリティ
PHP Manual