$post_login = md5($_POST['login']); $post_pass = md5($_POST['password']); db::$dbTypeSelect = 'single'; $row = db::dbSelectTable(array('login', 'password'), USR_PREFIX . 'admin', false, false, false, false); } //если данные верны if (empty($arrErrors) && !strcmp($post_login, $row['login']) && !strcmp($post_pass, $row['password'])) { $_SESSION['administrator_login'] = $row['login']; $_SESSION['administrator_password'] = $row['password']; unset($_SESSION['adm_fail_auth']); // Логирование удачной авторизации CONF_LOGS_ADMIN ? logs::logAdminAccess(array('login' => $_POST['login'], 'password' => 'yes'), true) : null; if (isset($_SESSION['referer'])) { $referer = $_SESSION['referer']; unset($_SESSION['referer']); die('<script type="text/javascript">window.location="' . CONF_ADMIN_FILE . $referer . '";</script>'); } else { header('Location: ' . CONF_ADMIN_FILE); //die ('<script type="text/javascript">window.location="' . CONF_ADMIN_FILE . '";</script>'); } } // Логирование неудачной авторизации CONF_LOGS_ADMIN ? logs::logAdminAccess(array('login' => $_POST['login'], 'password' => $_POST['password']), false) : null; // Если есть ошибки, сохраняем в сессии количество входов, для вывода капчи. isset($_SESSION['adm_fail_auth']) ? $_SESSION['adm_fail_auth']++ : ($_SESSION['adm_fail_auth'] = 1); } // проверяем, нужно ли выводить капчу SECURE_CAPTCHA && isset($_SESSION['adm_fail_auth']) && $_SESSION['adm_fail_auth'] >= 3 ? $secure = true : null; $smarty->assignByRef('secure', $secure); $smarty->assignByRef('errors', $arrErrors); // передаем ошибки в шаблон