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; } }
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'; }