Мониторинг изменений на сайте
Мониторинг изменений на сайте по слепку страницы: при каждой проверке сравниваем хеш содержимого с эталоном и сообщаем, если изменилась хоть одна буква. Так ловят дефейс, подмену реквизитов и вредоносные вставки, которые проверка доступности не видит.
Зачем отслеживать изменения страницы сайта
Сайт открывается, отдаёт код 200 и выглядит живым, а в футере уже неделю чужая ссылка на казино, в форме оплаты подменены реквизиты, а на главной вместо текста — «hacked by». Такие вещи мониторинг доступности не ловит: с точки зрения HTTP всё в порядке.
Контроль содержимого сравнивает страницу с эталоном при каждой проверке. Изменилась хоть одна буква вне игнорируемых фрагментов — вы получаете уведомление. Это защита от дефейса, внедрённых скриптов, «тихого» взлома через плагин CMS и от ошибок редактора, который случайно затёр важный блок.
Что проверяем
- Хеш содержимого с игнорированием динамических фрагментов (токены, дата, счётчики)
- Первое изменение фиксируется как эталон, дальнейшие — уведомление
- Работает вместе с мониторингом доступности
- История снимков в кабинете
Как работает уведомление об изменении содержимого страницы
При первой проверке Нотифарио делает слепок страницы: скачивает HTML, вырезает фрагменты по вашим регулярным выражениям (CSRF-токены, дата, счётчики, рекламные блоки) и считает хеш. Дальше при каждой проверке хеш сравнивается с эталонным.
Если содержимое изменилось, приходит уведомление с размером страницы «было → стало», а новый слепок становится эталоном. Так плановое обновление сайта даёт одно сообщение, а не поток тревог. Проверка выполняется с основной точки с интервалом от 5 минут (рекомендуем 15) и стоит 0,01 ₽.
Что приходит в уведомлении
⚠️ Главная страница: содержимое страницы изменилось https://example.ru/ Было 48 213 → стало 48 977 симв. Открыть монитор →
Так выглядит сообщение о сбое; о восстановлении придёт отдельное — с длительностью простоя. Каналы: Telegram, MAX, email, SMS, звонок, webhook.
Параметры проверки
| Параметр | Описание |
|---|---|
| Адрес страницы | https://example.ru/ |
| Игнорировать фрагменты (регулярки, по одной в строке) | Динамические части: токены, счётчики, дата |
| User-Agent | |
| Логин (Basic Auth) |
Интервал — от 5 минут до 1 суток (рекомендуем 15 минут). Проверка выполняется с основной точки.
Защита от дефейса и взлома сайта: чем лучше самописного diff
- Игнорирование динамических фрагментов по регулярным выражениям — без этого самописный diff шумит на каждом токене.
- Работает вместе с проверкой доступности: если страница не открылась, вы получите сбой, а не ложное «изменилось».
- Эталон хранится у нас, история изменений видна в кабинете.