ホームページ >バックエンド開発 >PHPチュートリアル >HTTPS 経由でフォームを送信するときに発生する「混合コンテンツがブロックされました」エラーを修正する方法
HTTPS ページの混合コンテンツ エラーへの対処: 「混合コンテンツがブロックされました」に対する解決策
安全な HTTPS 接続を維持するために、多くの場合、ブラウザーは HTTPS ページからの非 HTTPS リソースへのリクエストをブロックします。これにより、「混合コンテンツ: 'https://page.com' のページは HTTPS 経由で読み込まれましたが、安全でない XMLHttpRequest エンドポイント 'http://XX.XXX.XX.XXX/vicidial/non_agent_api」のようなエラーが発生する可能性があります。 .php?queries=query=data'."
GET によるフォーム送信と AJAX を使用したサンキュー ページへのリダイレクトを含むシナリオでこの混合コンテンツの問題を解決するには、次の手順をお勧めします。
1.問題を分析します:
エラーの根本原因は、フォームが非 HTTPS エンドポイント (HTTP) に送信されているという事実にあります。ページは HTTPS 経由で読み込まれるため、これにより混合コンテンツの問題が発生します。
2.解決策を検討します:
a. API を HTTPS に変換します: 可能であれば、API プロバイダーに連絡して、エンドポイントを HTTPS に変換するようにリクエストします。これにより、ソースでの混合コンテンツの問題が解消されます。
b. PHP プロキシを確立します:
API を HTTPS に変換できない場合は、PHP プロキシを利用できます。フォーム データを受信し、それを HTTP API (cURL を使用) に転送して、ユーザーをサンキュー ページにリダイレクトする PHP ファイルをサーバー上に作成します。このアプローチでは、リクエストがブラウザーの HTTPS コンテキストから離れたサーバー側で処理されるため、混合コンテンツ エラーが排除されます。
以上がHTTPS 経由でフォームを送信するときに発生する「混合コンテンツがブロックされました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。