MODX REVO: Как узнать, кто пытается авторизоваться в админке?

В MODX Revolution нет встроенной функциональности для записи логов авторизации в админке, но вы можете создать собственную систему логирования. Вот несколько шагов, которые можно предпринять для реализации этой функциональности:

1. Создайте новую таблицу в базе данных, которая будет хранить информацию о попытках авторизации. Например, вы можете назвать ее "modx_admin_login_logs". Не забудьте создать необходимые поля, такие как "id" (первичный ключ), "username" (имя пользователя), "ip" (IP-адрес), "timestamp" (временная метка) и т.д.

2. Добавьте код в файл "manager/index.php" перед выполнением команды "$modx->initialize('mgr');" для записи информации о попытке авторизации. Например:

// Получаем имя пользователя
$username = isset($_POST['username']) ? $_POST['username'] : '';

// Получаем IP-адрес
$ip = $_SERVER['REMOTE_ADDR'];

// Получаем текущую временную метку
$timestamp = time();

// Делаем запись в базу данных
$sql = "INSERT INTO modx_admin_login_logs (username, ip, timestamp) VALUES (:username, :ip, :timestamp)";
$stmt = $modx->prepare($sql);
$stmt->bindParam(':username', $username);
$stmt->bindParam(':ip', $ip);
$stmt->bindParam(':timestamp', $timestamp);
$stmt->execute();

3. Теперь каждый раз, когда кто-то пытается авторизоваться в админке, информация о попытке будет записываться в базу данных.

4. Чтобы просмотреть логи авторизации, вы можете создать специальную страницу в админке MODX, используя плагины или сниппеты. На этой странице вы можете выполнить запрос к таблице "modx_admin_login_logs" и отобразить информацию в удобном для вас формате.

Будьте осторожны при реализации этой функциональности, чтобы не нарушить безопасность вашего сайта. Убедитесь, что вы используете подготовленные запросы (prepared statements) для избегания SQL-инъекций и обработки пользовательского ввода.