所以我正在阅读这些内容,并有些困惑。我在另一个域上使用网站的iframe。我没有在请求的资源上有"访问控制"标头。"阅读此内容,我可以在web.config中设置标头。但是,我想要多个特定的域,而不仅仅是通配符"*"。我正在阅读跨域政策。创建XML文件是通过任何相关的方式,还是这两个完全不同的事情?
此XML策略
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="domain1.com"/>
<allow-access-from domain="domain2.com"/>
</cross-domain-policy>
vs the web.config
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="site1.com" />
</customHeaders>
</httpProtocol>
</system.webServer>
CORS可以通过在服务器到客户端的响应中添加一个特殊的标题来工作。如果一个响应包含访问控制 - 遵守原始标题,并且浏览器支持CORS,则有可能直接使用Ajax加载资源,而无需代理。
设置时,访问控制值为" site1.com"。
使用此配置,只允许源自http://site1.com的脚本来加载资源。试图使用AJAX加载资源的任何其他域都将获得标准安全错误消息。这样,站点所有者可以限制哪些域被允许加载其资源。
另外,网站所有者可以随时准备参加星号:
Access-Control-allow-Origin: *。
现在,任何想要使用Ajax直接加载资源的站点都可以这样做,而无需浏览器安全错误。对于经常使用JavaScript加载数据的现代应用程序是一种非常有用的技术,希望更现代的Web API将开始支持CORS。