Magic Quotes は、フォームを通じて送信された不正な情報をフィルタリングするために使用されます。
PHP の魔法の引用
PHP 6 より前には、初心者プログラマーが不適切なテーブル処理コードを作成するのを防ぐために作成されたマジック クオートと呼ばれる機能がありました。マジック クオートは、SQL インジェクションに使用される可能性のある危険なフォーム データをバックスラッシュで自動的にエスケープします。 PHP によってエスケープされる文字には、引用符 ' 、二重引用符 " 、バックスラッシュ、NULL 文字が含まれます。
Tizag.com
ただし、この初心者保護機能は、PHP 6 で解決された問題よりも多くの問題を引き起こすことが判明しました。 PHP バージョンが 6 より前のバージョンである場合は、このレッスンを使用して、マジック クオートがどのような影響を与えるかを理解する必要があります。
魔法の引用 - 彼らは作るのですか?
まず最初に、サーバーでマジック クオートが有効になっているかどうかを確認する必要があります。 get_magic_quotes_gpc 関数は 0 (オフ) または 1 (オン) を返します。これらのブール値は、1 が true、0 が false の場合に適切なステートメントとなります。
if(get_magic_quotes_gpc())
echo "マジッククオートが有効になっています";
それ以外
echo "マジック引用符は無効になっています";
出力はphpが有効かどうかによって異なります
実践中の魔法の引用
魔法の引用符を使用して、マシンのプロセッサがどのようにしてキャラクターが危険を逃れることができるかを示す簡単なフォームを作成できるようになりました。このフォームは自動的に送信されるため、テストするにはファイル「magic quotes.php」を作成するだけで済みます。
echo "変更されたテキスト: ".$_POST['question'];
?>
バックスラッシュを削除する -s Triplashes() 関数
PHP のバックスラッシュ消去関数のストリップスラッシュを使用した後は、上記のセクションで「有効になっていますか?」をチェックするようなマジック クオートを追加するのが賢明です。こうすることで、将来 PHP マジック クオートの設定が変更された場合でも、合法とみなされるスラッシュを誤って削除することがなくなります。
echo "スラッシュを削除しました: ";
// それらのスラッシュを削除してください
if(get_magic_quotes_gpc())
エコー ストリップスラッシュ($_POST['question']);
それ以外
echo $_POST['質問'];
?>