ホームページ  >  記事  >  バックエンド開発  >  HTTPS AJAX リクエストの「混合コンテンツがブロックされました」エラーを解決する方法は?

HTTPS AJAX リクエストの「混合コンテンツがブロックされました」エラーを解決する方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-13 01:30:02924ブラウズ

How to Solve the

HTTPS AJAX 操作における「混合コンテンツがブロックされました」問題

問題の概要:

AJAX を使用して HTTP に GET リクエストを送信する HTTPS ページエンドポイントで「混合コンテンツ」エラーが発生し、操作。

解決策:

このエラーの根本的な原因は、混合コンテンツ (HTTP エンドポイントにアクセスする HTTPS ページ) を読み込もうとしていることです。

アプローチ 1: PHP を使用する仲介者としてのファイル
HTTPS をサポートするように API を変更することが不可能な場合は、 PHP ファイル (form.php など):

  1. AJAX リクエストからデータを受信します。
  2. cURL を使用してデータを HTTP API に転送します。
  3. ユーザーを「ありがとう」にリダイレクトします。

アプローチ 2: コンテンツ セキュリティ ポリシー (CSP)
API の変更または PHP ファイルの使用が不可能な場合は、HTML に次のメタ タグを追加します。ページ:

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

これは、HTTP リクエストを HTTPS に自動的にアップグレードし、混合コンテンツを解決するようにブラウザに指示します。

推奨事項:
HTML ページを変更せずに安全なデータ送信を保証し、「混合コンテンツ」エラーを防ぐため、アプローチ 1 をお勧めします。

以上がHTTPS AJAX リクエストの「混合コンテンツがブロックされました」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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