Esempio n. 1
0
        $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);
// передаем ошибки в шаблон