Ejemplo n.º 1
0
function chk_cookie($username, $pwd)
{
    if (!ENABLE_COOKIE) {
        return;
    }
    if (mb_strlen($username, 'utf8') < 1 || mb_strlen($username, 'utf8') > 12) {
        return;
    }
    $result = get_user_information($username);
    if ($result == null) {
        setcookie('username', '', time() - 1);
        setcookie('sid', '', time() - 1);
        return;
    } else {
        if (crypt_pwd_client($result['password']) == $pwd) {
            $_SESSION['username'] = $result['username'];
            $_SESSION['loged'] = false;
            return;
        } else {
            setcookie('username', '', time() - 1);
            setcookie('sid', '', time() - 1);
            return;
        }
        return;
    }
}
Ejemplo n.º 2
0
function loginByEmail($email, $pwd, $remember_me = false)
{
    if (is_email_valid($email) != '') {
        return '邮箱或密码错误';
    }
    $sql = 'SELECT `username`, `pwd`, `salt`, `verified` FROM `ewu_account` WHERE `email` = ? LIMIT 1';
    $a_profile = (new MysqlPDO())->executeQuery($sql, array($email));
    $last_time = time();
    $last_ip = ip2long(get_ip());
    if (count($a_profile) != 1) {
        add_signin_log($email, 'f', $last_time, $last_ip);
        return '邮箱或密码错误';
    }
    if ($a_profile[0]['verified'] == 'b') {
        add_signin_log($email, 'b', $last_time, $last_ip);
        return '您的帐号已被锁定';
    }
    if ($a_profile[0]['pwd'] != crypt_pwd($pwd, $a_profile[0]['salt'])) {
        add_signin_log($email, 'f', $last_time, $last_ip);
        return '邮箱或密码错误';
    }
    $_SESSION['ewu_username'] = $a_profile[0]['username'];
    $_SESSION['ewu_loged'] = true;
    if (ENABLE_COOKIE && $remember_me) {
        setcookie('ewu_user', $profile['username'], time() + 604800);
        // 7 days
        setcookie('ewu_sid', crypt_pwd_client($profile['pwd']), time() + 604800);
        //7 days
    }
    $sql = 'UPDATE `ewu_account` SET `last_time`= ?, `last_ip`=? WHERE email=? LIMIT 1';
    $params = array($last_time, $last_ip, $email);
    $cnt = (new MysqlPDO())->execute($sql, $params);
    add_signin_log($email, 't', $last_time, $last_ip);
    return '1';
}