似乎大多数(如果不是全部)oEmbed提供者端点都没有启用CORS。这意味着我必须使用JSONP(对于那些支持它的人)或通过服务器代理只是为了使用oEmbed。
有一项公司政策反对使用第三方提供商的JSONP,但我仍然希望以纯粹的客户端方式利用oEmbed(对于我们信任的某些提供商)。我理解oEmbed消费者的安全隐患以及为什么他们可能不希望将第三方标记直接放入他们的页面,但为什么提供商会限制这一点呢?如果我构建了一个服务器代理并且没有过滤结果,我可能很容易出现XSS漏洞。
答案 0 :(得分:1)
猜猜:
它可能与预检请求有关。 The CORS spec指出客户端应该在许多情况下发送额外的OPTION
请求(基本上,对于非常基本GET
或POST
之外的任何内容。这意味着,在服务器端,只需提供 CORS ,您就可以将传入的请求加倍,也许额外的负载是不可接受的。