2011-11-24 7 views
9

oEmbedプロバイダのエンドポイントには、すべてではないにしてもほとんどの場合、CORSが有効になっていないようです。これは、JSONPをサポートしているユーザーにはJSONPを使用するか、oEmbedを使用するにはサーバープロキシを経由する必要があることを意味します。多くのoEmbedプロバイダが、エンドポイントでクロスドメインリソース共有を有効にしないのはなぜですか?

サードパーティのプロバイダからJSONPを使用することに対する企業方針がありますが、依然として純粋なクライアントサイドの方法(私たちが信頼する特定のプロバイダ向け)でoEmbedを活用したいと考えています。私はoEmbedの消費者のセキュリティの意味を理解しています。なぜサードパーティ製のマークアップをページに直接許可したくないのでしょうか?サーバープロキシを構築して結果をフィルタリングしなかった場合、XSSの脆弱性を簡単に持つことができます。

+1

である。彼らがやりたかった。 Slideshareは、CORSを無効にしたAPIを提供しているため、ほとんど役に立たなくなっています。 – Jaseem

+0

プロバイダーのリソースへのリンクを持つ他のサイトがそれを使用できない場合、最初にそれを持っている点は何ですか?それが内部使用のためのものであれば、oEmbed.com上でそれをサポートしているとはみなさないでください。 – Gunchars

答えて

1

だけで推測:

これは、プリフライトリクエストに関連することができます。 CORSの仕様(http://www.w3.org/TR/cors/#resource-preflight-requests)によれば、クライアントは多くの場合OPTION要求を追加しなければなりません(基本的には、非常に基本的なGETやPOST以外のものについては) 。つまり、サーバー側では、CORSを提供するだけで受信リクエストを2倍にすることができ、余分な負荷が受け入れられなくなる可能性があります。

+0

OEmbedは「さまざまな基本的なGET」を使用しています。そのような要求は依然として送信されるため、クライアント側では拒否されるだけです。 – Gunchars

関連する問題