我的ISP有一个坏习惯,那就是将我访问的每个页面都放入一个页面中,iframe
以便他们可以将其与广告等重叠。(我猜他们正在使用透明代理来完成此操作)
是否有可以删除框架或阻止这样做的附件?
在这种情况下,AdBlock之类的功能不起作用。
我的ISP有一个坏习惯,那就是将我访问的每个页面都放入一个页面中,iframe
以便他们可以将其与广告等重叠。(我猜他们正在使用透明代理来完成此操作)
是否有可以删除框架或阻止这样做的附件?
在这种情况下,AdBlock之类的功能不起作用。
Answers:
如果Stack Exchange网站上的框架破坏代码对您有用,那么您可以编写用户脚本在每个站点上插入框架破坏代码。如果您以前从未制作过用户脚本,请参考以下资源:
在框架破坏和框架破坏破坏者破坏方面有一个很好的堆栈溢出线程。从理论上讲,您可以从SO帖子的答案中提取一些代码,然后使用用户脚本将其注入到每个页面中。
用钱包投票,不要使用做这种垃圾的ISP。
如果这不可能,那么您的下一个最佳选择就是隐藏来自ISP的所有流量,以使他们看不到内部,从而对其进行修改。您可以通过加密所有/尽可能多的流量来实现此目的。
您可以使用HTTPS Everywhere之类的浏览器插件来做到这一点。它具有大量此附件强制HTTPS连接的网站。还要确保您的浏览器已启用SPDY协议。作为SPDY规范的一部分,所有连接均被加密。
要更进一步,请考虑使用某些VPN服务。这将使您的流量内容完全对ISP隐藏,并阻止此类内容修改。
如果您的ISP通过注入来自特定域的JavaScript来执行此操作,则可以使用JavaScript黑名单扩展名来避免运行来自该域的任何JavaScript。(我连接到的一个公共热点之一就是使用这种方法。)但是,如果您的ISP直接注入整个脚本,那么我认为这行不通。
Chrome:JavaScript黑名单
Firefox:YesScript
您还应该能够使用广告屏蔽扩展程序来屏蔽JavaScript。最受欢迎的过滤器支持自定义过滤器列表,添加一个额外的过滤器模式以捕获框架代码应该很容易。如果您已经在运行广告拦截器,那么这可能是最明智的方法。
除了框架破坏技巧之外,我建议您获取服务于框架页面的服务器的IP并将其阻止。如果您像我一样使用中国电信,他们并不一定总是将页面装框,而这样做的话,简单的重新加载将为您提供未装帧的页面。我猜他们无法构架所有东西,因为每分钟劫持数百万个连接会迅速耗尽他们的资源。
因此,我最终要做的是阻止所有这些IP,这样当它们尝试弄乱当前请求时,我会得到一个干净的连接错误。然后,我知道我可以重新加载以获取真实页面。这种方法的另一个优点是,您不会向这些服务器发送任何信息,而对于破坏帧的技巧,请求仍然存在(考虑到它们发送回的废话,我不相信他们的敏感信息可能最终会出现在他们的日志中)。
有关信息,请参阅我当前收集和阻止的IP: