Опять я со своей паранойей Решил сделать контроль входа (предполагаемыми злоумышленниками) в админку.
Итак, ядро, файл kernel.class.php ищем функцию function priv_admin_register (примерно в районе 1750 строки)
Заменяем ВСЮ функцию на эту:
Код:
function priv_admin_register($login, $password) { if ((!empty($login)) && (!empty($password))) { if (isset($_SERVER['HTTP_HOST'])) $httpHost = $_SERVER['HTTP_HOST']; else $httpHost = "unknown"; $id_user = $this->priv_session_admin_save($login, $password); if ($id_user == -1) { $_SESSION['vars_kernel']['errore_register'] = '[#start_login_not_exist#]'; if (defined('EMAIL_FOR_ERRORE')) { if ($this->pub_is_valid_email(EMAIL_FOR_ERRORE)) $this->pub_mail(array(EMAIL_FOR_ERRORE), array(""), EMAIL_FOR_ERRORE, "", $httpHost, "Неудачная попытка входа в админку сайта ".$httpHost." Вводимый логин/пароль ".$login."/".$password); } } if ($id_user == -2) { $_SESSION['vars_kernel']['errore_register'] = '[#start_login_failed_entered#]'; if (defined('EMAIL_FOR_ERRORE')) { if ($this->pub_is_valid_email(EMAIL_FOR_ERRORE)) $this->pub_mail(array(EMAIL_FOR_ERRORE), array(""), EMAIL_FOR_ERRORE, "", $httpHost, "Неудачная попытка входа в админку сайта (один админ уже работает) ".$httpHost." Вводимый логин/пароль ".$login."/".$password); } } if ($id_user > 0) { $arr_groups = $this->priv_session_groups_save($id_user); if (!empty($arr_groups)) $this->priv_session_main_admin_save($arr_groups); if (defined('EMAIL_FOR_ERRORE')) { if ($this->pub_is_valid_email(EMAIL_FOR_ERRORE)) $this->pub_mail(array(EMAIL_FOR_ERRORE), array(""), EMAIL_FOR_ERRORE, "", $httpHost, "Пороизведен вход в админку сайта ".$httpHost."Логин админа ".$login); } } } $this->pub_redirect_refresh_global("/admin/"); }
Сохраняем, что имеет? На адрес, который указан в админке, в Глобальных настройках в строке Адрес электронной почты для ошибок выполения MySQL запросов
1. При удачном входе а в дминку, вы получаете письмо, мол Пороизведен вход в админку сайта mysite.ru Логин админа Admin.
Вариантов применения мы нашли 2 контороль за админами (кто когда работал) и внезапный доступ, если админ 1, он на Гавайях и у него сперли пароли…
2. При неудачном входе (как вариант попытка перебора пароля) вы получите письмо, мол Неудачная попытка входа в админку сайта mysite.ru Вводимый логин/пароль login/password
Т.е. помимо того что вы понимаете, что кто-то пытается ломать админку вы так же будете знать КАК и какими логинами\паролями он пытается это делать. Как-то так, всем удачи, и чтоб вас никогда не ломали
Всем удачи!
Автор: http://arteshuk.tk