ホームページ  >  記事  >  バックエンド開発  >  PHP が Cross-domain_php を実装する方法の例

PHP が Cross-domain_php を実装する方法の例

WBOY
WBOYオリジナル
2016-06-16 08:41:07887ブラウズ

作業上の都合により、クライアント ソフトウェアの一部のインターフェイスは HTML+CSS+JavaScript で実装されており、これらのファイルはクライアント上にローカルに配置され、ローカル ファイルとして読み込まれます。何らかの情報を取得しない場合、何らかの処理が実行された場合、リクエストは失敗し、返される情報は次のとおりです:

要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しないため、オリジン「null」はアクセスを許可されません.

これは、ブラウザのクロスドメイン ポリシーが機能し、クロスドメイン リクエストをブロックするためです。 HTTP リクエストのプロセスを見てください。初めてバックエンドがリクエストされたとき、ブラウザはクロスリソースにアクセスしていることを認識し、データを取得するために GET リクエストを直接送信せず、代わりに OPTIONS リクエストを送信してリソースにアクセスできるかどうかを確認します。これをプリフライトリクエストと呼びます。デフォルトでは、同一オリジンポリシーが存在するため、このリクエストによって返されるヘッダーには「Access-Control-Allow-Origin」 属性がないため、アクセスは失敗します。 クロスドメインを実現したい場合、キーはサーバーにあり、クライアント コードは通常の方法で記述できます。サーバーの場合、OPTIONS リクエストを受信したときに返されるヘッダー情報にこの属性を追加するだけです。コードは次のとおりです。

header("Access-Control-Allow-Origin: *");
すべての情報がクライアントに出力される前に設定する必要があることに注意してください。

上記は、PHP がクロスドメイン コンテンツを実装する方法についての編集者による紹介です。皆さんのお役に立てれば幸いです。

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