从hao123.com上扒下来的邮箱登录

时间:2009年12月10日作者:simaopig评论次数:24

hao123.com是我接触到的第一个网站,当时年少无知的我问网管,上网都能干啥。看着网管不屑的眼神,有些小受伤。不过善良的网管还是告诉我,可以听音乐,可以聊天。可是音乐去哪找呢?网管继续不耐烦的说hao123啊

闲扯淡

当时,砍传奇之余自认为做的最伟大的两件事分别是:注册新浪邮箱,申请百度贴吧版主。现如今,最早注册的邮箱早就被封掉了(详见以前的文章),而百度贴吧的版主,因为高中毕业后来也被弄掉了,连那个吧现在也仍然无人注册~~

而当时登录邮箱主要就是在hao123.com,别问我为啥不去新浪登录,咱哪会啊?

闲话少说,今天正好要做邮箱部分的优化,决定还是抄一下hao123.com的吧。毕竟人家速度快,而且简单方便。

代码部分

代码如下,不加注释了,大家有能力的自己了解一下即可,无聊的飘过即可

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <title>模拟hao123邮箱登录</title>
    <meta content="text/html; charset=gb2312" http-equiv="Content-Type"/>
    <script type="text/javascript" src="mail.js"></script>
</head>

<body>

    <form target="_blank" action="" onsubmit="MailLogin.sendMail();return false;" method="post" name="mail">
        <table>
            <tbody>
                <tr><td nowrap="" width="30px">帐号</td><td colspan="2"><input type="text" value="" name="hao_mail_username" id="hao_mail_username"/></td></tr>
                <tr><td>邮箱</td><td colspan="2"><select onchange="MailLogin.change(this)" id="hao_mail_options"><option>--请选择--</option><option>@163.com 网易</option><option>@126.com 网易</option><option>@sina.com 新浪</option><option>@yahoo.com.cn</option><option>@yahoo.cn</option><option>@sohu.com 搜狐</option><option>@tom.com</option><option>@188.com</option><option>@21cn.com</option><option>@yeah.net</option><option>百度帐号</option><option>ChinaRen校友录</option><option>人人网</option><option>51.com</option><option>--在弹出页登录--</option><option>@qq.com</option><option>@gmail.com</option><option>@hotmail.com</option><option>@139.com</option></select></td></tr>
                <tr><td>密码</td><td><input type="password" style="width: 124px; padding-left: 2px;" value="" name="hao_mail_passwd" id="hao_mail_passwd"/></td><td><button type="submit" style="padding: 0px; height: 1.67em; width: 3.4em; line-height: 1.67em; vertical-align: middle;">登录</button></td></tr>
            </tbody>
        </table>
    </form>
</body>
</html>
function G($){return document.getElementById($)}

function trim($){$=$.replace(/(^\u3000+)|(\u3000+$)/g,"");$=$.replace(/(^ +)|( +$)/g,"");return $}

function C($) {
    return document.createElement($)
}

function Ci(_, A) {
    var $ = C("input");
    $.name = _;
    $.value = A;
    $.type = "hidden";
    return $
}

var format = function(_, B) {
    if (arguments.length > 1) {
        var F = format,
        H = /([.*+?^=!:${}()|[\]\/\\])/g,
        C = (F.left_delimiter || "{").replace(H, "\\$1"),
        A = (F.right_delimiter || "}").replace(H, "\\$1"),
        E = F._r1 || (F._r1 = new RegExp("#" + C + "([^" + C + A + "]+)" + A, "g")),
        G = F._r2 || (F._r2 = new RegExp("#" + C + "(\\d+)" + A, "g"));
        if (typeof(B) == "object") {
            return _.replace(E,function(_, A) {
                var $ = B[A];
                if (typeof $ == "function") $ = $(A);
                return typeof($) == "undefined" ? "": $
                }
            );
        } else if (typeof(B) != "undefined") {
            var D = Array.prototype.slice.call(arguments, 1),
            $ = D.length;
            return _.replace(G,
            function(A, _) {
                _ = parseInt(_, 10);
                return (_ >= $) ? A: D[_];
            })
        }
    }
    return _;
}




var Config = {
    MailConfig: [
        {
            val: 0
        },
        {
            action: "http://reg.163.com/CheckUser.jsp",
            params: {
                url: "http://fm163.163.com/coremail/fcg/ntesdoor2?lightweight=1&verifycookie=1&language=-1&style=15",
                username: "#{u}",
                password: "#{p}"
            }
        },
        {
            action: "https://reg.163.com/logins.jsp",
            params: {
                domain: "126.com",
                username: "#{u}@126.com",
                password: "#{p}",
                url: "http://entry.mail.126.com/cgi/ntesdoor?lightweight%3D1%26verifycookie%3D1%26language%3D0%26style%3D-1"
            }
        },
        {
            action: "http://mail.sina.com.cn/cgi-bin/login.cgi",
            params: {
                u: "#{u}",
                psw: "#{p}"
            }
        },
        {
            action: "https://edit.bjs.yahoo.com/config/login",
            params: {
                login: "#{u}@yahoo.com.cn",
                passwd: "#{p}",
                domainss: "yahoo",
                ".intl": "cn",
                ".src": "ym"
            }
        },
        {
            action: "https://edit.bjs.yahoo.com/config/login",
            params: {
                login: "#{u}@yahoo.cn",
                passwd: "#{p}",
                domainss: "yahoocn",
                ".intl": "cn",
                ".done": "http://mail.cn.yahoo.com/inset.html"
            }
        },
        {
            action: "http://passport.sohu.com/login.jsp",
            params: {
                loginid: "#{u}@sohu.com",
                passwd: "#{p}",
                fl: "1",
                vr: "1|1",
                appid: "1000",
                ru: "http://login.mail.sohu.com/servlet/LoginServlet",
                ct: "1173080990",
                sg: "5082635c77272088ae7241ccdf7cf062"
            }
        },
        {
            action: "http://login.mail.tom.com/cgi/login",
            params: {
                user: "#{u}",
                pass: "#{p}"
            }
        },
        {
            action: "http://reg.mail.188.com/servlet/coremail/login?language=0&style=1",
            params: {
                user: "#{u}",
                pass: "#{p}"
            }
        },
        {
            action: "http://passport.21cn.com/maillogin.jsp",
            params: {
                UserName: "#{u}@21cn.com",
                passwd: "#{p}",
                domainname: "21cn.com"
            }
        },
        {
            action: "https://reg.163.com/logins.jsp",
            params: {
                domain: "yeah.net",
                username: "#{u}@yeah.net",
                password: "#{p}",
                url: "http://entry.mail.yeah.net/cgi/ntesdoor?lightweight%3D1%26verifycookie%3D1%26style%3D-1"
            }
        },
        {
            action: "http://passport.baidu.com/?login",
            params: {
                u: "http://passport.baidu.com/center",
                username: "#{u}",
                password: "#{p}"
            }
        },
        {
            action: "http://passport.sohu.com/login.jsp",
            params: {
                loginid: "#{u}@chinaren.com",
                passwd: "#{p}",
                fl: "1",
                vr: "1|1",
                appid: "1005",
                ru: "http://profile.chinaren.com/urs/setcookie.jsp?burl=http://alumni.chinaren.com/",
                ct: "1174378209",
                sg: "84ff7b2e1d8f3dc46c6d17bb83fe72bd"
            }
        },
        {
            action: "http://passport.renren.com/PLogin.do",
            params: {
                email: "#{u}",
                password: "#{p}"
            }
        },
        {
            action: "http://passport.51.com/login.5p",
            params: {
                passport_51_user: "#{u}",
                passport_51_password: "#{p}",
                gourl: "http%3A%2F%2Fmy.51.com%2Fwebim%2Findex.php"
            }
        },
        {
            val: 0
        },
        {
            action: "http://mail.qq.com",
            type: "link"
        },
        {
            action: "http://gmail.google.com",
            type: "link"
        },
        {
            action: "http://www.hotmail.com",
            type: "link"
        },
        {
            action: "http://mail.139.com",
            type: "link"
        }
    ]
}


var MailLogin={
    mailCache:[],

    sendMail:function()
    {
        var B=G("hao_mail_username").value;
        var C=G("hao_mail_passwd").value;
        var E=G("hao_mail_options");
        var A=document.mail;
        var _=E.selectedIndex;
        var H=Config.MailConfig[_];
        var F={u:B,p:C};
        if(H.val==0){alert("\u60a8\u6ca1\u6709\u9009\u62e9\u90ae\u7bb1\uff01");return}
        if(trim(F.u)==""){alert("\u7528\u6237\u540d\u4e0d\u80fd\u4e3a\u7a7a\uff01");return}
        if(trim(F.p)==""){alert("\u5bc6\u7801\u4e0d\u80fd\u4e3a\u7a7a\uff01");return}
        if(this.mailCache.index!=_){
            this.mailCache.index=_;
            for(var I=0,D=this.mailCache.length;I<D;I++)
            {
                A.removeChild(this.mailCache[I]);
            }
            this.mailCache=[]
        }
        A.action=H.action;
        for(I in H.params){
            var $=Ci(I,format(H.params[I],F));
            this.mailCache.push($);
            A.appendChild($)
        }
        A.submit();
        G("hao_mail_passwd").value=""
    },
    change:function(_){
        var $=Config.MailConfig[_.selectedIndex];
        if($.type=="link"){
            window.open($.action);
            _.selectedIndex=15
        }
    }
}

演示地址

演示地址,小小子不记你密码的。嗯。。

声明: 本文采用 BY-NC-SA 协议进行授权 | 小小子
转载请注明转自《从hao123.com上扒下来的邮箱登录

标签:,分类:JavaScript
24条评论
  1. JasonChao留言于:2009年12月10日16:22

    我登了新浪邮箱 ;-)

    [回复]

  2. simaopig留言于:2009年12月10日16:24

    @JasonChao
    呃,呵呵,谢谢捧场啊。。

    [回复]

  3. alswl留言于:2009年12月10日17:06

    这个不错
    话说你是不是做Web前端的啊

    [回复]

  4. simaopig留言于:2009年12月10日17:10

    @alswl
    网上有很多类似的东西,不过我这个是完全从hao123上扒下来的,绝对原汁原味,呵呵。

    PS:我前端后端都搞,PHP,JS都得会。。不过现在想进前端组,专心搞一个。呵呵。

    [回复]

  5. bolo留言于:2009年12月10日17:13

    网上早有很多快速登录入口的代码了,不过在代码简洁方面上hao123的确是最好的

    [回复]

  6. simaopig留言于:2009年12月10日17:15

    @bolo
    是的,里面有很多值得借鉴的地方。

    我最欣赏的就是这里的format函数。呵。

    [回复]

  7. Louis Han留言于:2009年12月10日17:57

    嗯 这个好像不错啊 有空试试看

    [回复]

  8. Cherry留言于:2009年12月10日17:58

    呵呵,我曾经研究过,为什么HAO123的163可以登陆,而大部分其他的网址导航站却登陆不了,最后也知道了原因,现在也放在我的网站上面了,http://www.pig123.com :mrgreen:

    [回复]

  9. simaopig留言于:2009年12月10日18:00

    @Cherry
    咦,你自己的导航站啊?不错不错。呵呵。

    [回复]

  10. simaopig留言于:2009年12月10日18:00

    @Louis Han
    欢迎试用。呵呵。

    [回复]

  11. Cherry留言于:2009年12月10日18:23

    @simaopig
    用的别人的模板,为了练习PHP写的程序,可是一点也没有优化,还要找你学习经验哈哈 :grin:

    [回复]

  12. simaopig留言于:2009年12月10日18:27

    @Cherry
    晕死,练习PHP用网址导航,服了你了。强悍,呵呵。

    [回复]

  13. LAONB留言于:2009年12月11日17:32

    我都忘记hao123的首页啥样了 :smile:

    [回复]

  14. 木马男孩留言于:2009年12月12日22:17

    我的主页就是123,我感觉不错,我记性不好,123对我来说很适用

    [回复]

  15. 荒野无灯留言于:2009年12月16日18:43

    直接把你的demo另存为了

    [回复]

  16. 荒野无灯留言于:2009年12月16日18:46

    163的貌似不行呢,无法登录:
    警告:系统检查到您可能通过不安全的网站登录,请您登录后立即修改密码!

    [回复]

  17. 张三李四留言于:2010年01月19日22:55

    楼主,不行啊,提示不安全呢!

    [回复]

  18. simaopig留言于:2010年01月20日09:24

    @张三李四
    hi,个别邮箱只有在新窗口登录才行哦。比如:QQ,Gmail,都只会打开登录页面的。。

    多试几个,如果都不行,你再联系我, :oops:

    [回复]

  19. 张三李四留言于:2010年01月24日20:23

    @simaopig
    163也不行啊!

    [回复]

  20. simaopig留言于:2010年01月25日15:20

    @张三李四
    hi,126和163都是网易的邮箱,这两个限制的比较狠。刚才通过楼上 Cherry 同学的代码,发现只能经过php的一层跳转后貌似才可以,但是这个实在懒的研究了。

    另外。发现无论是265还是360,这些导航站应该都和网易等这些公司有合作关系,其都有自己独特的参数,比如说265登录163邮箱时,有私有参数是MailBox_265,而360的则是MailBox,这些参数的值应该也是有意义的。 :razz:

    [回复]

发表评论

*

*