クロスオリジン リソースへのアクセス: 「Origin は Access-Control-Allow-Origin によって許可されていません」エラーへの対処
次のアプリケーションの場合Ajax リクエストを利用して、異なるドメイン間でリモート サーバーと通信すると、恐ろしい「Origin が許可されていません」というメッセージが表示されます。 「Access-Control-Allow-Origin」エラーは一般的な障害です。この問題は、アプリケーションがアプリケーションのオリジンとは異なるドメインにリクエストを行おうとし、サーバーがクロスオリジン アクセスを許可するように構成されていない場合に発生します。
この問題を解決するには、サーバーの応答ヘッダーを変更して以下を含めることができます。 「Access-Control-Allow-Origin」パラメータ。このパラメータは、サーバーへのクロスオリジン リクエストの実行を許可するドメインまたは URI を指定します。
PHP での応答ヘッダーの設定
PHP の場合、応答ヘッダー以下に示すように、header() 関数を使用して設定できます。
<?php header('Access-Control-Allow-Origin: *'); ?>
アスタリスク「Access-Control-Allow-Origin」ヘッダーの (*) は、サーバーがあらゆるオリジンからのリクエストを許可することを示します。あるいは、アスタリスクを目的のドメインに置き換えて、特定のオリジンをホワイトリストに登録することもできます。
<?php header('Access-Control-Allow-Origin: http://example.com'); ?>
警告: セキュリティへの影響
特定のオリジンのホワイトリストを使用しないクロスオリジン アクセスは、セキュリティ リスクを引き起こします。ワイルドカード「*」を使用すると、アプリケーションがクロスサイト スクリプティング (XSS) やその他の攻撃にさらされる可能性があります。したがって、信頼できる発信元からのアクセスのみを許可することが重要です。
以上が「Origin は Access-Control-Allow-Origin によって許可されていません」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。