<?
include_once("./_common.php");

$mb_id       = $_POST[mb_id];
$mb_password = $_POST[mb_password];

if (!trim($mb_id) || !trim($mb_password))
    alert("请输入用户名/密码");

/*
// 自动登录攻击时开启此代码 限制为15秒，。可以设置更长
if ($check_time = get_session("ss_login_check_time")) {
    if ($check_time > $g4['server_time'] - 15) {
        alert("您的登录次数过于频繁，请勿连续登录！");
    }
}
set_session("ss_login_check_time", $g4['server_time']);
*/

$mb = get_member($mb_id);

// 不单独显示密码错误或帐户错误的原因是 
// 可以根据提示的错误类型猜解ID后进行密码暴力破解
// 回答模棱两可的回答导致黑客无法直接在登录页面判断该ID是否存在
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
    alert("您输入的用户名不存在或密码错误！\\n\\n请注意登录密码区分大小写！");
}

// 检查是否已被禁止登录的用户
if ($mb[mb_intercept_date] && $mb[mb_intercept_date] <= date("Ymd", $g4[server_time])) {
    $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1年 \\2月 \\3日", $mb[mb_intercept_date]); 
    alert("您的帐户已被封\\n\\n 被封时间: $date");
}

// 检查是否已被注销
if ($mb[mb_leave_date] && $mb[mb_leave_date] <= date("Ymd", $g4[server_time])) {
    $date = preg_replace("/([0-9]{4})([0-9]{2})([0-9]{2})/", "\\1年 \\2月 \\3日", $mb[mb_leave_date]); 
    alert("您的帐户已被注销\\n\\n注销时间 : $date");
}

if ($config[cf_use_email_certify] && !preg_match("/[1-9]/", $mb[mb_email_certify]))
    alert("您尚未进行邮件地址认证\\n\\n请到您的邮局进行确认$mb[mb_email]");

$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
@include_once("$member_skin_path/login_check.skin.php");

// 创建会员session
set_session('ss_mb_id', $mb[mb_id]);
// FLASH XSS 创建固定值（管理员检查） - 110106
set_session('ss_mb_key', md5($mb[mb_datetime] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']));

// 3.26
// 保存帐户信息1个月
if ($auto_login) {
    // 3.27
    // 记住密码 ---------------------------
    // 保存一个月
    $key = md5($_SERVER[SERVER_ADDR] . $_SERVER[REMOTE_ADDR] . $_SERVER[HTTP_USER_AGENT] . $mb[mb_password]);
    set_cookie('ck_mb_id', $mb[mb_id], 86400 * 31);
    set_cookie('ck_auto', $key, 86400 * 31);
    // 记住密码 end ---------------------------
} else {
    set_cookie('ck_mb_id', '', 0);
    set_cookie('ck_auto', '', 0);
}


if ($url) 
{
    $link = urldecode($url);
    // 2003-06-14 添加 (为了传递其他变量)
    if (preg_match("/\?/", $link))
        $split= "&"; 
    else
        $split= "?"; 

    // $_POST 传递时排除以下数据
    foreach($_POST as $key=>$value) 
    {
        if ($key != "mb_id" && $key != "mb_password" && $key != "x" && $key != "y" && $key != "url") 
        {
            $link .= "$split$key=$value";
            $split = "&";
        }
    }
} 
else
    $link = $g4[path];

goto_url($link);
?>
