浏览器扩展以自动更改HTTP标头?


5

我可以根据URL(通过正则表达式)和引用来自动更改/删除/添加特定的HTTP标头吗?

编辑:或者,本地代理会做什么,最好免费?

我主要对Chrome感兴趣,但这个问题与所有浏览器有关。如果Chrome没有可用的东西,我可能会使用任何浏览器都有解决方案。

我有几个网站,我一直保持开放。我决定通过在iframe中包含每个页面将它们合并到一个页面中。我使用的至少一个页面不喜欢这个想法; 它显然是X-FRAME-OPTIONS: SAMEORIGIN为了保护我免受黑帽子的伤害。我很欣赏这种姿态,但我想以对我最有意义的方式使用他们发送给我的数据。

所以我决定最简单的方法是检测我的页面是引用者(如果需要,我可以在iframe的查询字符串中放置一个虚拟变量)并从响应中剥离X-FRAME-OPTIONS,这样Chrome就没有意识到页面想要禁用跨域嵌入。

我尝试搜索Chrome网上应用店和Google,但找不到任何内容。肯定有什么?我知道Firefox中的Live HTTP Headers和Chrome中的类似,但这要求我手动编辑标题。此任务应自动完成。


2
它必须是浏览器扩展吗?本地代理是否可以接受?有许多本地代理允许您修改HTTP标头甚至内容。
鲍勃

鲍勃,我从来没有听说过这样的事情。那将是完美的...我编辑了这个问题。
Grault

[这似乎是一种方法] [1],使用Apache作为代理服务器。[1]:stackoverflow.com/questions/154441 / ...
djangofan

1
就代理而言,如果你在某个地方运行Windows ,我认为Fiddler应该可以工作。
Rich Homolka

Answers:


2

正如我在评论中提到的,有许多本地代理可以实现这一点。一个常见的是Squid,一个缓存代理。Polipo是另一个,显然比鱿鱼轻。还有许多其他选项,例如此处列出的选项。


乌贼

他们的ContentAdaptation维基文章列出了修改流的不同方法。最简单的是在squid.conf配置文件中,用request_header_replacereply_header_replace。如果要完全删除标题,可以使用request_header_accessreply_header_access

在你的情况下,你可能想要reply_header_access X-Frame-Options deny all,这应该删除标题。你也可以修改它以回复除了SAMEORIGIN或之外的任何东西DENY,这将允许它按照这个SO答案(但这是一个特殊情况,显然没有记录,所以最好只删除它)。

请记住,您需要使用参数/选项运行Squid --enable-http-violations以使用这些选项。

您可能还希望禁用 Squid 的缓存方面


Polipo即可

censoredHeaders变量接受要阻止的HTTP标头列表。您可以添加From, X-Frame-Options到此列表中。有关配置Polipo的说明,请参见此处

在Polipo中没有明确禁用缓存的方法 - 显然它不在内存中使用缓冲区,而是始终保存到磁盘。但是,您可以通过将maxExpiresAgemaxAge并将maxNoModifiedAge变量设置为0 来强制它始终请求新页面(如果0不起作用,则可能为1)。看到这里


Squid还包含自定义路由器固件,如DD-WRT和Tomato,您可以使用它做有趣的事情
鲍勃

谢谢......看起来我有很多个人研究和开发,错误,配置要做。
Grault

3

我知道你更喜欢Chrome,但它的架构让这样的东西变得很难,因为它们试图分离很多东西。

一个快速的Firefox插件搜索找到了修改标题

就代理人而言,也许Fiddler会工作。

我没有亲自测试过这些,但看起来他们似乎都可以做你想做的事。


我实际上是在不久前使用Firefox,但我转而使用Chrome。现在两者都在我的任务栏上。(虽然我忘了提到它在我的编辑和它之前然后是不相关的,我在Windows上。)谢谢!
Grault


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.