ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「すべての引用符の前にスラッシュ」の問題に対処する方法は?
特定の状況では、PHP Web ページでフォーム データを送信すると、フォーム データが追加されるという問題が発生することがあります。すべての二重引用符の前にバックスラッシュを付けます。この問題は、マジック クオートと呼ばれるサーバー構成機能が原因で発生します。
マジック クォートが有効になっている場合、データベースまたはフォームの送信との間で送受信されるときに、PHP は二重引用符を含む特定の文字を自動的にエスケープします。これにより、悪意のある引用符をエスケープすることで SQL インジェクション攻撃を防ぐことができますが、通常のフォーム処理が妨げられる可能性もあります。
問題の解決
問題を解決するには、次のコマンドを使用できます。フォーム データをデータベースに保存する前、またはページに表示する前に、stripslashes() 関数を使用して、自動的に追加されたバックスラッシュを削除します。以下に例を示します。
<code class="php">if (get_magic_quotes_gpc()) { $input = stripslashes($input); }</code>
この条件ステートメントは、マジック クオートが有効かどうかを確認し、有効であれば、stripslashes() を使用して $input 変数からバックスラッシュを削除します。これにより、追加の変更を加えることなく、フォーム データを通常どおり処理できるようになります。
マジック クオートの説明
マジック クォートは非推奨の機能であり、最新の PHP では安全ではないと考えてください。発達。これらは、セキュリティとコードの互換性に関するさまざまな問題を引き起こすため、PHP 4 で導入され、PHP 7.0.0 で削除されました。
マジック クォートを無効にすることは、より透過的で安全なコーディング手法を可能にするため、一般的に推奨されます。 PHP 構成ファイルを変更し、magic_quotes_gpc を Off に設定することで、マジック クオートを無効にできます。
マジック クォートの機能を理解し、stripslashes() を使用してこの「すべての引用符の前にスラッシュを付ける」問題を解決することで、効果的に対処できます。 PHP でデータを形成し、魔法の引用符が有効になっている場合でも意図した機能を保証します。
以上がPHP の「すべての引用符の前にスラッシュ」の問題に対処する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。