ホームページ  >  記事  >  バックエンド開発  >  PHP のマジック クオートを使用してフォーム送信時の予期しないスラッシュを解決する方法

PHP のマジック クオートを使用してフォーム送信時の予期しないスラッシュを解決する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-21 09:23:02448ブラウズ

How to Resolve Unexpected Slashes in Form Submissions with PHP's Magic Quotes?

PHP のマジック引用符での「すべての引用符の前にスラッシュ」の問題を処理する

PHP フォームの先頭に送信時にすべての二重引用符の前に「」文字を入れます。これは、サーバーで「マジック クオート」機能が有効になっている可能性があります。

マジック クオートは、フォーム送信やその他の入力データ内の二重引用符を含む特定の文字を自動的にエスケープします。この機能は SQL インジェクション攻撃を防ぐことを目的としていますが、データの整合性に問題を引き起こす可能性があり、一般に時代遅れとみなされています。

この問題を解決するには、stripslashes() 関数を使用して、処理前に不要なスラッシュを削除します。テキスト。 tripslashes() を使用して次の条件をコードに追加します。

<code class="php">if (get_magic_quotes_gpc()) {
    $your_text = stripslashes($your_text);
}</code>

stripslashes() でテキストを処理した後、結果の $your_text 変数を通常どおり使用でき、予期しないスラッシュは含まれません。

マジッククオートの無効化について:

あなたが述べたように、サーバーへの root アクセス権があります。通常、適切に構造化された安全なコードを作成するには、マジック クオートを無効にすることをお勧めします。これを無効にする理由は次のとおりです。

  • 特定の文字エスケープに依存するコードが壊れる可能性があります。
  • データ検証およびサニタイズ プロセスに干渉する可能性があります。
  • 最新のデータベースドライバーとフレームワークは、SQL インジェクションに対するより効果的な保護を提供します。

マジック クオートを無効にするには、サーバーの php.ini ファイルを編集し、magic_quotes_gpc ディレクティブを Off に設定します。変更を行ったら、Web サーバーを再起動して変更を有効にします。

マジック クオートを無効にした後、アプリケーションを徹底的にテストして、期待どおりに動作していることを確認してください。

以上がPHP のマジック クオートを使用してフォーム送信時の予期しないスラッシュを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。