return False; } } function is_name_correct($name) { if ($name && preg_match('#.{2}#', $name)) { return True; } else { return False; } } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = isset($_POST['name']) ? $model['escape']($_POST['name']) : NULL; $password = isset($_POST['password']) ? $model['escape']($_POST['password']) : NULL; if (is_name_correct($name) && !$model['user']['is_exists']($name)) { if (is_password_correct($password)) { $password = password_hash($password, PASSWORD_DEFAULT); if ($model['user']['add']($name, $password)) { $user = $model['user']['get']($name); login_user($user); } else { $error = $model['get_last_error'](); } } else { $error = 'Invalid password.'; } } else { $error = 'User is already registered.'; } if ($is_ajax) { echo !empty($error) ? $error : 'OK';
<?php include "header.php"; ?> <!-- login/sign up/log out state --> <div class="login-state"> <div class="login-state-info"> <?php $email = $_POST["email"]; $password = $_POST["password"]; if (is_password_correct($email, $password)) { // start the session, remember the user name session_start(); $db = new PDO("mysql:dbname=database; host=localhost", "root", "root"); $email = $db->quote($email); $rows = $db->query("SELECT * FROM user WHERE email = {$email}"); foreach ($rows as $row) { $_SESSION["username"] = $row["username"]; } ?> <p>Login successful! Welcome back <?php echo $_SESSION["username"]; ?> </p> <?php } else { ?> <p>Sorry, incorrect user name or password.</p> <?php
stderr("Ошибка входа", $text); } function is_password_correct($password, $secret, $hash) { return $hash == md5($secret . $password . $secret) || $hash == md5($secret . trim($password) . $secret); // А нахуя вторая часть? Дебилы вводят из писем пароли с пробелом в конце/начале } $res = sql_query("SELECT id, passhash, secret, enabled, status FROM users WHERE username = "******"Вы не зарегистрированы в системе."); } if ($row["status"] == 'pending') { bark("Вы еще не активировали свой аккаунт! Активируйте ваш аккаунт и попробуйте снова."); } if (!is_password_correct($password, $row['secret'], $row['passhash'])) { bark(); } if ($row["enabled"] == "no") { bark("Этот аккаунт отключен."); } $peers = sql_query("SELECT COUNT(id) FROM peers WHERE userid = {$row['id']}"); $num = mysql_fetch_row($peers); $ip = getip(); if ($num[0] > 0 && $row[ip] != $ip && $row[ip]) { bark("Этот пользователь на данный момент активен с другого IP. Вход невозможен."); } logincookie($row["id"], $row["passhash"]); if (!empty($_POST["returnto"])) { header("Location: {$DEFAULTBASEURL}/{$_POST['returnto']}"); } else {