2012-05-04 14 views
2

クロスドメインAjaxコールは許可されていないが、なぜクロスドメインajaxコールをfacebook(またはtwitterなど) oauth API?クロスドメインAJAXコールとアクセスコントロール - 許可 - オリジン

これは次の点と関連がありますか?

"Access-Control-Allow-Origin: *" 

この悪い習慣のようにすべてのアクセスを許可していますか?あなたが許可した人だけを許可する良い方法はありますか?

ありがとうございます!

答えて

2

Access-Control-Allow-Origin response header fieldは、要求が送信されるサーバーによって制御できる特定の条件下でXHRを使用したクロスオリジン要求を可能にするCross-Origin Resource Sharingの一部です。

この場合、Access-Control-Allow-Origin: *は、サーバーが任意の起点からの要求を許可することを意味します。これは基本的に、リソースが公開されており、資格情報をサポートしていないことを意味します。

しかし、許可されたユーザーだけにアクセスを制限する場合は、*を使用することはできません。代わりに、Originヘッダーフィールドの値を返す必要があります(section 6.1を参照)。クライアントが既に資格情報を持っていてもリソースをまだ要求していない場合は、クライアントが送信できる情報をネゴシエートするpreflight requestsもサポートする必要があります。

+0

ありがとうございます!あなたの答えを完全に理解するには、あなたが私に指摘したすべてのリンクを読み上げる必要があります。 – kumikoda

+0

@kumikodaはい、CORSを完全に理解することはかなり複雑です。 (そして、私の答えが正しいことを願っています。) – Gumbo

関連する問題