浏览器扩展会自动改变 HTTP 标头吗?

浏览器扩展会自动改变 HTTP 标头吗?

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

编辑:或者,哪个本地代理可以做到这一点,最好是免费的?

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

我有几个网站总是保持打开状态。我决定将它们合并为一个页面,方法是将每个页面都包含在一个 iframe 中。至少有一个我使用的页面不喜欢这个想法;它显然是为了X-FRAME-OPTIONS: SAMEORIGIN保护我免受黑帽攻击。我很感激这个举动,但我想以对我来说最有意义的方式使用他们发送给我的数据。

因此,我决定解决这个问题的最简单方法是检测我的页面是否是引荐来源(如果需要,我可以在 iframe 的查询字符串中放置一个虚拟变量)并从响应中去除 X-FRAME-OPTIONS,这样 Chrome 就不会意识到该页面想要禁用跨域嵌入。

我尝试搜索 Chrome Web Store 和 Google,但什么也没找到。肯定有办法吧?我知道 Firefox 中有实时 HTTP 标头,Chrome 中也有类似功能,但这需要我手动编辑标头。这项任务应该可以自动完成。

答案1

正如我在评论中提到的,有许多本地代理可以实现这一点。一个常见的是乌贼,一个缓存代理。波利波是另一种,显然比 Squid 更轻。还有许多其他选择,例如列出的这里


乌贼

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

在您的例子中,您可能需要reply_header_access X-Frame-Options deny all,这应该会删除标头。您还可以修改它以使用SAMEORIGIN或以外的任何内容进行回复DENY,这将允许它按照这个答案(但这是一个特殊情况,而且显然没有记录,所以最好将其删除)。

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

您可能还希望禁用缓存功能鱿鱼


波利波

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

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

答案2

我知道你更喜欢 Chrome,但是它的架构让这类事情变得很困难,因为他们试图将很多事情进行隔离。

快速 Firefox 插件搜索发现修改标题

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

我个人还没有测试过这两者,但它们似乎都能满足你的要求。

答案3

对于 Chrome,存在:忽略 X-Frame 标头. 对我来说工作得很好!

我在用着https://addons.mozilla.org/en-US/firefox/addon/modify-headers/在 Firefox 上,当我需要同样的东西时 - 需要一些最少的配置。

答案4

关于什么修改 Chrome 的标头 https://chrome.google.com/webstore/detail/modify-headers-for-google/innpjfdalfhpcoinfnehdnbkglpmogdi

例如,可以为 Akamai 缓存平台的用户添加调试标头

相关内容