我正在写一个小网页,其目的是构建其他一些页面,只需将它们合并到一个浏览器窗口中以便于查看.我试图框架的一些页面禁止被框架并抛出"拒绝显示文档,因为X-Frame-Options禁止显示".Chrome中的错误.我知道这是一个安全限制(有充分理由),并且无权更改它.
是否有任何替代框架或非框架方法在单个窗口中显示不会被X-Frame-Options标头绊倒的页面?
如果我创建iframe这样的:
var dialog = $('<div id="' + dialogId + '" align="center"><iframe id="' + frameId + '" src="' + url + '" width="100%" frameborder="0" height="'+frameHeightForIe8+'" data-ssotoken="' + token + '"></iframe></div>').dialog({
Run Code Online (Sandbox Code Playgroud)
我该如何修复错误:
拒绝
'https://www.google.com.ua/?gws_rd=ssl'在框架中显示,因为它将'X-Frame-Options'设置为'SAMEORIGIN'.
用JavaScript?
导轨4次出现设置的默认值SAMEORIGIN的X-Frame-OptionsHTTP响应报头.这非常适合安全性,但它不允许您的应用程序的某些部分iframe在不同的域中可用.
您可以X-Frame-Options使用以下config.action_dispatch.default_headers设置覆盖全局值:
config.action_dispatch.default_headers['X-Frame-Options'] = "ALLOW-FROM https://apps.facebook.com"
Run Code Online (Sandbox Code Playgroud)
但是,如何仅针对单个控制器或操作覆盖它?
iframe ruby-on-rails http-headers x-frame-options ruby-on-rails-4
我在我的jsp上有CKeditor,每当我上传一些东西时,会弹出以下错误:
Refused to display 'http://localhost:8080/xxx/xxx/upload-image?CKEditor=text&CKEditorFuncNum=1&langCode=ru' in a frame because it set 'X-Frame-Options' to 'DENY'.
Run Code Online (Sandbox Code Playgroud)
我试过删除Spring Security,一切都像魅力一样.如何在spring security xml文件中禁用它?我应该在<http>标签之间写什么
我正在实施一个"传递",X-Frame-Options让合作伙伴网站将我的雇主的网站包装在iframe中,如本文所述:http://blogs.msdn.com/b/ieinternals/archive/2010/03/30 /combating-clickjacking-with-x-frame-options.aspx
(将URL分拆为帖子)
简而言之,我们的合作伙伴页面上有一个iframe,其中包含针对我们域名的网址.对于我们域中的任何页面,他们都会添加一个特殊的url参数&@mykey=topleveldomain.com,告诉我们页面的顶级域名是什么.
我们的过滤器从URL中获取合作伙伴TLD(如果提供),并根据白名单对其进行验证.如果它在列表中,我们将X-Frame-Options带有值的标头发送ALLOW-FROM topleveldomain.com(并为将来的点击添加一个cookie).如果它不在我们的白名单上,我们发货SAMEORIGIN或DENY.
问题是,ALLOW-FROM domain对于最新的Firefox和谷歌浏览器,整体上的结果似乎是无差异.至少,IE8似乎正在正确实施ALLOW-FROM.
看看这个页面:http: //www.enhanceie.com/test/clickjack.在"应该显示内容"的第5个(第5个)框之后,是一个不应该显示内容的框,但是.在这种情况下,iframe中的页面正在发送X-Frame-Options: ALLOW-FROM http://www.debugtheweb.com,与TLD完全不同http://www.enhanceie.com.然而,框架仍然显示内容.
是否X-Frame-Options真正实现ALLOW-FROM跨相关(桌面)浏览器的任何见解?也许语法已经改变了?
一些感兴趣的链接:
我正在开发一个网页,需要在iframe中显示由另一家公司的SharePoint服务器提供的报告.他们很好.
我们试图在iframe中呈现的页面为我们提供了X-Frame-Options:SAMEORIGIN,它使浏览器(至少IE8)拒绝在帧中呈现内容.
首先,这是他们可以控制的东西,还是SharePoint默认执行的操作?如果我要求他们关闭它,他们甚至可以这样做吗?
其次,我可以做些什么来告诉浏览器忽略这个http标头并只渲染帧吗?
我正在尝试测试响应式设计.我正在使用Rails 4.我知道它将'X-Frame-Options'设置为SAME ORIGIN.所以我在development.rb中使用了
config.action_dispatch.default_headers = {
'X-Frame-Options' => 'ALLOWALL'
}
Run Code Online (Sandbox Code Playgroud)
它起作用了.我在Chrome控制台中查看了网络请求,内容如下:

但仍然像responsive.is和responsinator.com这样的网站给我以下错误:
Refused to display 'http://localhost:3000/' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. about:blank:1
Run Code Online (Sandbox Code Playgroud)
这是怎么回事??
有没有什么好方法可以检测由于X-Frame-Options标题页面何时不会显示在页面中?我知道我可以请求页面服务器端并查找标题,但我很好奇浏览器是否有任何捕获此错误的机制.
我正在尝试将X-Frame-Options标头(值设置为"DENY")添加到我的MVC 4应用程序中.我环顾四周,似乎这是为所有页面添加最干净的方式.
但是,当我添加此代码时,它将无法构建.有错误OnResultExecuting的
"找不到合适的方法来覆盖."
public class XframeOptions : ActionFilterAttribute
{
public override void OnResultExecuting(
System.Web.Mvc.ResultExecutingContext filterContext)
{
filterContext.HttpContext.Response.AddHeader(
"X-Frame-Options", "DENY");
}
}
Run Code Online (Sandbox Code Playgroud)
如果这是最干净的方法,我该如何解决此错误?有没有更好的方法来处理MVC 4应用程序?
x-frame-options ×10
iframe ×3
javascript ×3
http-headers ×2
asp.net ×1
asp.net-mvc ×1
browser ×1
c# ×1
clickjacking ×1
firefox ×1
frame ×1
frames ×1
html ×1
http ×1
java ×1
jquery ×1
sharepoint ×1
spring ×1
spring-boot ×1