5

因此,我的 ISP(Smartfren;印度尼西亚)决定开始使用 iframe 脚本注入所有非 SSL 页面,允许他们在页面中插入广告。这是正在发生的事情:

  1. 我的浏览器向服务器发送请求。ISP 拦截它并返回一个在 iframe 中加载请求页面的 javascript。

  2. 除了原则上令人讨厌之外,这种注入还破坏了任何数量的标准页面功能。并带来可能的安全隐患。

到目前为止我试图做的事情:

  1. 使用 GreaseMonkey 脚本消除注入的代码并重定向到原始 URL。结果:破坏了一些合法的 iframe。此外,ISP 的代码会被执行,因为 GreaseMonkey 仅在页面加载后才会启动。

  2. 使用 Privoxy 作为本地代理并设置过滤器以清理注入并将其替换为纯 JavaScript 重定向到原始 URL。结果:破坏了一些合法的 iframe。ISP 的代码永远不会进入浏览器。

您可以在以下粘贴处查看我一直在处理的 GreaseMonkey 和 Privoxy 修复:http: //pastebin.com/sKQTvgY2 ... 以及 ISP 注入的示例。

理想情况下,我可以将 Privoxy 配置为在检测到更改时立即重新发送请求,而不是过滤掉注入的 JS 并将其替换为 JS 重定向到原始 URL。(当立即重新发送相同的请求时,ISP 注入将被关闭。)我还没有弄清楚如何实现这一点。我相信它会解决 iframe 破坏问题。

我知道我可以切换到 VPN 或使用 Tor 浏览器。(或更改 ISP。)我希望有另一种方法。有关如何消除这种滋扰的任何建议?

4

2 回答 2

5

实际上现在我有一个解决方案:ISP 代理对浏览器发送的Accept:标头做出反应。

所以这是 Firefox 的默认设置:

接受:text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8

现在我们要改变这个默认值:

并将其设置为:接受:*/*

以下是如何为谷歌浏览器设置标题黑客

将标题设置为您喜欢的任何内容:NO IFRAME

追加/替换选择替换为

细绳 */*

并将字符串匹配到.*,然后单击添加。

在永久标头开关中将域设置为.*并选择您刚刚创建的规则

PS:在 firefox 设置中更改它不能 100% 起作用,因为像 ajax 这样的请求似乎绕过了它,所以插件是唯一的方法,因为它实际上拦截了每个传出的浏览器请求

就是这样,没有 iframe 了!!!

希望这可以帮助!

于 2015-05-28T21:15:34.833 回答
1

更新:使用 DNSCrypt 是最好的解决方案

旧答案 我正在使用这种方法

  1. 查找包含 iframe 代码的资源(使用 chrome 开发工具) iframe js
  2. 使用代理或主机文件阻止 url

我正在使用 linux,所以我在 /etc/hosts Example 上编辑了我的主机文件:

127.0.0.1 ibnads.xl.co.id

于 2015-12-27T14:25:17.603 回答