【发布时间】:2016-02-10 14:52:07
【问题描述】:
asp.net mvc 应用程序中的默认策略是什么?还有 CORS 和 X-Frame-Options 有什么关系?
如果我在端口上创建一个新的 MVC Web 应用程序(托管在 IIS 中),例如21232,我将 iframe 添加到索引视图,并将源设置为我的本地 IIS,例如
<iframe src="http://localhost/iisstart.htm" width="800" height="100"/>
这可以正常工作(即使在 Web 应用程序的不同端口上)。
如果我现在将 iframe 源更改为完全外部的东西,例如
<iframe src="http://www.google.com" width="800" height="100"/>
现在显示一个空的 iframe。如果我查看 Chrome 开发工具(两个示例中都使用了 Chrome),我会在控制台中看到一个错误
拒绝在框架中显示“https://www.google.co.uk”,因为它将“X-Frame-Options”设置为“SAMEORIGIN”。
- 为什么当地址位于与托管页面不同的端口时,第一个 URL 有效?
- X-Frame-Options 与 CORS 有什么关系?我尝试将以下内容添加到我的 web.config 中(参见 ref enable cors in IIS)
<add name="Access-Control-Allow-Origin" value="*" />
这没什么区别。看来我需要在 global.asax.cs 中的 Application_Start 中添加以下内容
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;
X-Frame-Options 是否与 iframe 相关?
【问题讨论】:
标签: asp.net-mvc-5 cors same-origin-policy x-frame-options