2009十二月10
从hao123.com上扒下来的邮箱登录
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>
<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
}
}
}
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
}
}
}
演示地址
演示地址,小小子不记你密码的。嗯。。
文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/12/10/1665/
版权所有 © 转载时必须以链接形式注明作者和原始出处!
@simaopig
我发现有的个人网站的邮局也可以登陆!
[回复]
@张三李四
呃。那你看一下他们的实现吧。我对比http请求的信息,其实没有发现啥不同。
悲哀 :sad: :???:
[回复]
为什么总是出现mailogin 未定义呢
[回复]
呵呵 我也学会了 这是我的网站效果 大家给评评哈
http://www.5iso.co.cc 我爱搜 5iso导航之家
楼主扒的hao123.com的mail盒子,我是直接修改hao123.cn的代码。
欢迎大家批评
涯边草 QQ519521108
[回复]