Новости проекта
В журнале появился вид «Страницы», а карточка сайта говорит, когда модуль не отвечает
Сводка по адресам страниц в журнале, фильтр «Боты», ссылка «Все запросы» с дашборда и честная пометка о модуле, который не отвечает.
Два изменения в кабинете, оба выросли из вопросов владельцев сайтов.
Куда именно ходят боты. На дашборде давно есть блок «Куда обращались
боты» — шесть адресов, которые чаще всего запрашивали программы. Шести
строк хватало, чтобы заметить /wp-login.php или /.env, но не хватало,
чтобы понять картину по каталогу из тысячи страниц. Теперь в журнале
визитов два вида: привычные «Записи» и новые «Страницы». Второй вид
складывает визиты по адресам и показывает для каждого, сколько пришло
людей, сколько получили проверку и сколько блокировку, и долю ботов.
Все фильтры журнала работают и в этом виде. «Страницы» без фильтра — самые посещаемые адреса сайта вообще. «Страницы» плюс новый фильтр «Боты» (проверка и блокировка вместе) — куда боты ходят чаще всего. Поиск по части пути сужает сводку до раздела, фильтр по домену и «С рекламы» тоже действуют. Клик по адресу открывает карточку с полным адресом (длинные ссылки в таблице обрезаются), кнопками «Копировать ссылку», «Показать визиты» и «Не отслеживать»: последняя заносит путь в белый список сайта, и модуль перестаёт проверять запросы к нему — для вебхуков, обмена с 1С и других служебных адресов. С дашборда в этот вид ведёт ссылка «Все запросы» в блоке «Куда обращались боты».
Сводка считается по последним 20 000 визитам периода. На небольших и средних сайтах это весь период целиком; на крупных журнал больше, и подпись карточки честно говорит, что показана свежая часть. Так сводка открывается за доли секунды и не нагружает базу на самом посещаемом сайте.
Модуль не отвечает — так и напишем. В списке сайтов у каждой карточки есть строка о модуле. Раньше она умела только две фразы: «модуль отвечает» и «ещё не выходил на связь». Вторая звучала одинаково и в первую минуту после добавления сайта, и через неделю, когда модуль по ошибке положили не в ту папку. Теперь состояний четыре:
- отвечает — последний запрос был недавно;
- ещё не выходил на связь — сайт добавлен меньше получаса назад;
- не отвечает: не установлен или установлен неверно — прошло больше получаса, а запросов от сайта не было ни одного;
- не отвечает с такого-то времени, хотя сайт открывается — модуль работал и замолчал больше чем на час.
Последнее состояние самое важное. Мониторинг доступности открывает главную страницу каждого сайта раз в минуту, и этот запрос проходит через модуль, поэтому исправный модуль не может молчать час при живом сайте. Если молчит — скорее всего, обновление CMS перезаписало файл или вызов убрали из кода. Сайт при этом работает без защиты: любая ошибка модуля означает пропуск, так задумано. Пометка появляется и на странице подключения, с подсказкой, что проверить.
Обвинять модуль мы не спешим: если сайт лежит, мониторинг выключен или проверка не свежая, причина молчания не в нём, и строка остаётся нейтральной. Для сайтов только со скриптом связь даёт лишь живой посетитель, поэтому к ним правило о часе не применяется.
Оповещения на дашборде стали компактнее. Раньше каждое системное сообщение — «Отражена атака», «Сайт не отвечает», «Защита отключена автоматически» — занимало отдельную карточку над статистикой, и после бурной ночи дашборд начинался с пяти красных плашек. Теперь плашка одна: сколько непрочитанных и какое последнее, с кнопкой «Смотреть». Список открывается в боковой панели, каждое оповещение закрывается крестиком, все разом — кнопкой «Удалить все». Удаление здесь означает «прочитано»: письма и записи журнала остаются.