消除:ISP使用iframe脚本为广告注入页面

Mar*_* AO 4 javascript iframe proxy code-injection network-security

所以我的ISP(Smartfren;印度尼西亚)决定开始使用iframing脚本注入所有非SSL页面,允许他们在页面中插入广告.这是发生了什么:

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

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

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

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

  2. 将Privoxy用于本地代理并设置过滤器以清理注入并将其替换为原始URL的普通javascript重定向.结果:打破一些合法的iframe.ISP的代码永远不会进入浏览器.

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

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

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

ste*_*ven 5

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

所以这是firefox的默认设置:

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

现在我们要更改此默认值:

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

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

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

追加/替换选择替换为

字符串*/*

并将字符串匹配为.*然后单击"添加".

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

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

那就是没有更多的iframe!

希望这可以帮助!

  • 在Firefox中改变它并没有解决我先做好的问题.你需要使用一个插件,因为它会为每个请求更改它而不是什么.然后还清除你的cookie,如果仍然不起作用,然后缓存 (2认同)