X-Frame-Options禁止框架加载:不允许框架。

26

我将创建一个网站,并在其中包含世界上最大的报纸网站,如纽约时报,金融时报等的链接(使用iframe)。

但是,我遇到了框架许可的问题。例如,纽约时报显示了一个错误 Load denied by X-Frame-Options: http://www.nytimes.com/ does not permit framing。我已经阅读了许多论坛并没有找到可行的解决方案。尝试将 X-Frame-Options SAMEORIGIN 头文件添加到 .haccess 文件中,但没有帮助。是否有任何方法来解决这个问题?


可能是如何绕过X-Frame-Options:SAMEORIGIN HTTP标头?的重复问题。 - Quentin
3个回答

33

有些网站设置了服务器,不允许其他网站“框架”他们的内容。主要是为了保护他们的版权并将流量直接引导到他们自己的网站。

这通常是通过将以下内容添加到Apache的配置(httpd.conf文件)中来实现的:

Header always append X-Frame-Options SAMEORIGIN

如果您想为网站添加框架,很遗憾,实际上您无能为力。


14
版权并不是唯一的原因。跨站脚本攻击是这个阅读器被禁用的主要原因。 - MovGP0

7
如果您的目标不是建立一个嵌入其他网站的网站(供他人访问),而这确实是为个人使用,那么解决方案是搜索并安装任何可以让您修改响应头的插件,甚至更加切中要害的是 - 获取“忽略X-Frame-Options”插件。
这些插件将拦截远程服务器的响应,并允许您用ALLOWALL替换X-Frame-Options头的值,从而使您的浏览器允许响应在框架中嵌入。
事实证明,另一个SO问题甚至讨论了编写自己的插件所需的代码:在客户端禁用X-Frame-Option

-2

6
如果用户正在创建一个其他人需要访问的网站,这个扩展程序会如何帮助他呢?每个访问他的网站的人都必须使用Firefox并安装这个扩展程序吗? - Alain
1
@Alain,服务器端无法修复--这就是头文件的全部意义,允许内容所有者控制另一个站点是否可以框架其内容;保护知识产权、广告收入和(最重要的)防止跨站脚本攻击。 - Doktor J
就个人使用而言,这是完美的。该插件支持白名单,但默认情况下启用于所有网站。 对于那些想要使用这个扩展程序的人,不要将其启用于所有网站。 - Typewar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接