有几个问题,但我还没有得到正确的答案。我简要总结一下:
公司A的网站中包含iframe。公司B提供该iframe的URL。用户使用来自B公司的应用程序,并根据用户选择的设置设置一个URL,该URL将从A公司传送到iframe。
但是,由于x-frame-options,框架还没有工作。错误消息如下:
X-Frame-Options拒绝加载: http://www.myurl.com:8088/myPath?panel=panel&user=username 不允许跨源框架。
我添加了
rows.Scan(...)
到我的web.config并尝试添加
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
没有任何成功。
我从this和this网站获得了建议,以便在我的IIS上添加CORS支持。正如我上面提到的,没有任何成功。我在网络开发或IIS方面不是那么好,所以这个问题可能听起来很愚蠢:A公司是否必须启用CORS或B公司?或两者?如何?我从谷歌那里得到的建议还没有帮助。
建议表示赞赏。
答案 0 :(得分:0)
该错误消息与Access-Control-Allow-Origin
标头和OPTIONS
处理无关,因此预计问题中描述的更改不会产生任何影响。
原因是,http://www.myurl.com:8088
服务器在对X-Frame-Options
的请求的响应中发送/myPath
响应标头。因此,如果您不希望服务器执行此操作,则需要确定服务器代码的哪个部分导致添加X-Frame-Options
响应标头,并删除该代码。
答案 1 :(得分:0)
x-frame-options已被Content-Security-Policy取代,您可以按如下方式使用它:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="frame-ancestors 'self' example.com *.example.net ;" />
<add name="X-Content-Security-Policy" value="frame-ancestors 'self' example.com *.example.net ;" />
</customHeaders>
</httpProtocol>