我想在Firefox(和Chrome)上取消客户端的X-Frame-Option Header。 我发现了什么: Overcoming "Display forbidden by X-Frame-Options" 非客户端解决方案不适合我的目的
https://bugzilla.mozilla.org/show_bug.cgi?id=707893 这似乎非常接近。我尝试使用代码user_pref(“b2g.ignoreXFrameOptions”,true)在配置文件目录中创建user.js; 但它不起作用。第二个条目似乎暗示用修改后的代码编译ff?如果是这种情况,那对我来说也不是一个可能的解决方案。
我刚刚写了一个带有一些JS的HTML页面,它通过连续将它们加载到iframe中来循环播放YouTube视频列表。我知道youtube支持播放列表,但他们很糟糕,我不想下载视频。 此外,如果浏览器仅忽略本地文件的X-Frame-Option,那将是很好的。通过禁用此功能,这可以最大限度地减少我撕开的安全漏洞。至于Chrome,解决方案会很好,但并不重要。
我想另一种方法是截取包含HTTP Respone的传入TCP / IP数据包并删除此标题行,但这实在是太过分了。
[编辑] 使用youtube.com/embed是一个糟糕的解决方法,因为很多视频都不允许嵌入...
答案 0 :(得分:7)
这可以通过Firefox扩展使用HTTP Observer轻松实现。观察者看起来像这样:
let myListener =
{
observe : function (aSubject, aTopic, aData)
{
if (aTopic == "http-on-examine-response")
{
let channel = aSubject.QueryInterface(Ci.nsIHttpChannel);
try
{ // getResponseHeader will throw if the header isn't set
let hasXFO = channel.getResponseHeader('X-Frame-Options');
if (hasXFO)
{
// Header found, disable it
channel.setResponseHeader('X-Frame-Options', '', false);
}
}
catch (e) {}
}
}
}
您可以找到更多信息,例如如何在MDN [1] [2]
上安装观察者[1]:https://developer.mozilla.org/en/docs/Observer_Notifications#HTTP_requests
[2]:https://developer.mozilla.org/en-US/docs/Setting_HTTP_request_headers#Registering
答案 1 :(得分:4)
使用diegocr代码,我创建了一个Firefox附加组件,允许显示标题中包含X-Frame-Options的网页,因此当通过iframe访问时会显示它们。它可以在这里下载/安装:https://addons.mozilla.org/en-US/firefox/addon/ignore-x-frame-options/
答案 2 :(得分:2)
René Houkema在other answer above中提到的Firefox扩展不再可用,因此我创建了一个新扩展。
https://addons.mozilla.org/fr/firefox/addon/ignore-x-frame-options-header/
此扩展程序也与Quantum兼容。
来源和更新: https://github.com/ThomazPom/Moz-Ext-Ignore-X-Frame-Options