Javascript 为什么不';是否有更多的oEmbed提供程序在其端点上启用跨域资源共享?

Javascript 为什么不';是否有更多的oEmbed提供程序在其端点上启用跨域资源共享?,javascript,cross-domain,frontend,cors,oembed,Javascript,Cross Domain,Frontend,Cors,Oembed,似乎大多数(如果不是全部的话)oEmbed提供者端点都没有启用CORS。这意味着为了使用oEmbed,我必须使用JSONP(对于支持它的人)或通过服务器代理 有一个反对使用来自第三方提供商的JSONP的公司政策,但我仍然希望以纯粹的客户端方式利用oEmbed(对于我们信任的某些提供商)。我理解oEmbed消费者的安全含义,以及为什么他们可能不想让第三方标记直接进入他们的页面,但为什么提供商会限制这一点?如果我构建了一个服务器代理并且没有过滤结果,那么我也很容易出现XSS漏洞。只是猜测: 这可能与

似乎大多数(如果不是全部的话)oEmbed提供者端点都没有启用CORS。这意味着为了使用oEmbed,我必须使用JSONP(对于支持它的人)或通过服务器代理

有一个反对使用来自第三方提供商的JSONP的公司政策,但我仍然希望以纯粹的客户端方式利用oEmbed(对于我们信任的某些提供商)。我理解oEmbed消费者的安全含义,以及为什么他们可能不想让第三方标记直接进入他们的页面,但为什么提供商会限制这一点?如果我构建了一个服务器代理并且没有过滤结果,那么我也很容易出现XSS漏洞。

只是猜测:


这可能与飞行前的请求有关。声明客户端在许多情况下应发送额外的
选项
请求(基本上,对于非常基本的
GET
POST
之外的任何内容)。这意味着,在服务器端,只需提供CORS,您的传入请求就会翻倍,而且可能无法接受额外的负载。

是的。我希望他们这样做。Slideshare提供了一个禁用CORS的API,这使得它几乎毫无用处。如果其他链接到提供者资源的站点不能使用它,那么首先使用它有什么意义?如果只是内部使用,那么不要在oEmbed.com上列出您自己支持它,不?oEmbed使用“vary basic GET”,因此请求仍将被发送,只是会在客户端被拒绝。