処理中の文字列内のすべての二重引用符がバックスラッシュでエスケープされるという問題が発生しました。いくつかの調査の結果、これはマジック クオートと呼ばれるサーバー構成が原因であることがわかりました。
マジック クォートとは何ですか?
マジック クォートは PHP の設定です。フォーム データやその他の入力で、一重引用符や二重引用符を含む特定の文字を自動的にエスケープします。その目的は、SQL インジェクションやその他のセキュリティ脆弱性を防ぐことです。
stripslashes() を使用した解決策
この問題を解決するには、stripslashes() 関数を使用して、追加されたバックスラッシュ:
if (get_magic_quotes_gpc()) { $text = stripslashes($text); }
これにより、$text から余分なスラッシュが削除され、作業できるようになります
魔法の引用符を無効にしますか?
魔法の引用符を無効にするかどうかは、特定の状況とリスク許容度によって異なります:
マジック クオートを無効にする場合は、必ずアプリケーションを慎重にテストし、潜在的なセキュリティ上の懸念事項に対処してください。
以上がPHP で引用符がバックスラッシュでエスケープされるのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。