zoukankan      html  css  js  c++  java
  • 屏蔽深圳电信的网页劫持

    中国电信的流氓行径早有所闻,用上深圳电信的宽带之后,终于切身体会这些垄断企业的无耻。深圳电信的网页劫持症状是:在 Chrome 浏览器右下角弹出广告窗口。弹出窗口也就罢了,它还时不时导致正常网页变成以“另存为”的方式打开,必须刷新页面才能正常载入。

    最近终于难以忍受了,决定用 userscript 解决这个问题。首先查看被劫持后的网页代码,如下:

    <html>
    <head>
    <meta http-equiv='pragma' content='no-cache'/>
    <meta http-equiv='expires' content='-1'/>
    <script>
    var stat_path='http://121.15.207.199:81/stat.aspx?p=1355029095|1879779|43659|0|0|0';
    var cnt_path='';
    window.setInterval('window.status=location.href', 200);
    </script>
    </head>
    <body scroll='no' style='border:0; margin:0; padding:0;' id='mainbody'>
    <iframe src='about:blank' width='100%' height='100%' frameborder='0'></iframe>
    <script language='JavaScript' src='http://121.15.207.29:1010/openV4.js'></script>
    <script language='JavaScript'>
    var content='http://gd.189.cn/sz/push/ip5.htm?p=1355029095|1879779|43659|0|0|0&param=ABioyajZGekprCz8jKys/LzMvJx8zPv87JzNGYm9mPkJOWnIaWm8LLzMnKxtmejZqenJCbmsLLy8/Mz8/ZjJCKjZyaio2TwoiIiNGRmoiM';
    var old_url='http://www.cnblogs.com/?1355029095';
    var param='780|520|9';
    if(checkpop(stat_path))
    {try{OpenWin(content,stat_path,cnt_path,old_url);}catch(e){}}
    else{location.href = old_url;}
    </script>
    </body>
    </html>
    

    对 userscript 怎么编写也不熟悉,从 http://userscripts.org 以及其它网站找到一些例子,经过修改,终于得到了下面的避免深圳电信网页劫持的用户脚本:

    // ==UserScript==
    // @name              Remove Telecom Hijack
    // @version           12.12.09
    // @include           http*
    // @run-at            document-start
    // ==/UserScript==
    
    document.addEventListener('beforeload', function(e){
        s = document.getElementsByTagName('script')[0];
        if (!s) {
            return;
        } else {
            a = s.innerHTML.toLowerCase(); 
            if (a.indexOf("cnt_path=''") > 0 && a.indexOf(".status=loc") > 0) {
                e.preventDefault();
                console.log('hijack: ' + location.href);
                history.go(0);
            }
        }
    },true);
    

    将这个用户脚本的内容保存为 xxx.user.js 文件(只能以 .user.js 结尾!),然后打开 Chrome 浏览器的扩展程序页面,将该文件拖放进去即可安装该用户脚本。

    参考资料:
    [1] Userscripts.org - Anti TelecomAds
    [2] Userscripts.org - ISP广告杀手 ISP Ads Killer
    [3] Userscripts.org - Fuck ct10000
    [4] 电信http劫持插入iframe广告,路由器ip段封锁加chrome脚本自动刷新
    [5] 广东电信的流氓行径,抓着现行了。。
    [6] 布丁布丁吃什麼?: Google Chrome安裝userscript的方法

  • 相关阅读:
    [NOI2009]管道取珠
    Rebalance再均衡
    生产者分区写入策略
    Kafka事务
    幂等性
    消费者组
    Kafka中的重要概念
    偏移量offset
    服务注册和发现的意思,Spring cloud如何实现?
    负载平衡的意义
  • 原文地址:https://www.cnblogs.com/zoho/p/2810152.html
Copyright © 2011-2022 走看看