Спам и боты на OpenCart, MODX и Joomla
OpenCart, MODX и Joomla — популярные движки небольших магазинов и сайтов компаний, и боты хорошо знают их стандартные формы. Собрали, что включить в каждом из них, чтобы спама стало меньше, и как добавить защиту от ботов поверх встроенной.
Содержание
Коротко
- У всех сайтов на одном движке одинаковые адреса форм — боты этим пользуются.
- Сначала включите встроенные меры: капчу, модерацию, ловушки FormIt.
- Ненужную регистрацию и отзывы лучше отключить.
- Антибот ставится в шапку шаблона, как Метрика.
Почему боты любят эти движки
У всех сайтов на одном движке одинаковые адреса форм: регистрация, обратная связь, отзывы, вход в админку. Бот, который научился отправлять форму на одном сайте, отправит её на тысячах других. Поэтому стандартные формы без защиты получают спам почти сразу после запуска.
OpenCart
- Включите капчу. В разделе расширений установите и включите капчу, затем в настройках магазина на вкладке «Опции» выберите её и отметьте страницы: регистрация, контакты, отзывы, оформление заказа гостем.
- Модерация отзывов. Не публикуйте отзывы без проверки — спам в отзывах портит карточки товаров.
- Отключите ненужное. Если не нужны отзывы или оформление без регистрации — выключите их.
- Закройте админку. Переименуйте папку admin и ограничьте к ней доступ по адресам на сервере.
MODX
Формы в MODX чаще всего работают через FormIt. У него есть встроенные средства против спама:
[[!FormIt?
&hooks=`spam,email,redirect`
&validate=`name:required,phone:required,nospam:blank`
&emailTo=`info@example.ru`
]]
<!-- в форме: поле-ловушка, скрытое от людей -->
<input type="text" name="nospam" value="" style="display:none" tabindex="-1" autocomplete="off">Если поле nospam заполнено, FormIt не отправит форму.
- Поле-ловушка с валидатором
blank: если бот его заполнил, форма не отправится. - Хук
spamпроверяет адрес отправителя по спам-базам. - Для капчи используют дополнения с reCAPTCHA или SmartCaptcha.
Joomla
- Отключите регистрацию, если она не нужна: «Пользователи» → «Настройки» → «Разрешить регистрацию: нет». Это самый частый источник спам-аккаунтов.
- Включите капчу в общих настройках сайта и в настройках компонентов — контактов и пользователей.
- Активация аккаунтов через почту или администратором, если регистрация нужна.
- Обновляйте Joomla и расширения — старые версии расширений часто становятся точкой взлома.
Что сделать на любом движке
- Обновите движок и расширения
Старые версии — главная причина взломов и спама через уязвимые формы.
- Поставьте ловушку и проверку времени
Скрытое поле и минимальное время заполнения отсекают большинство скриптов.
- Ограничьте частоту отправки
Лимиты на сервере для обработчиков форм и входа в админку.
- Закройте админку
Нестандартный адрес и доступ только с ваших адресов, где это возможно.
- Подключите проверку браузера
Против ботов в настоящих браузерах, которые проходят ловушки и капчи.
Как подключить антибот
Код nbots ставится в шапку шаблона — так же, как счётчик Метрики: в OpenCart — в файл шаблона header, в MODX — в чанк шапки, в Joomla — в шаблон сайта или через модуль для вставки кода. После этого в кабинете видно, кто приходит на сайт, а в режиме защиты боты не доходят до форм. Если есть доступ к обработчику формы, можно дополнительно проверять каждую заявку по токену на сервере.
Частые вопросы
Какая капча лучше для OpenCart?
Встроенная базовая капча отсекает простых ботов, но раздражает людей. Удобнее капча, которая показывается только при сомнениях, или проверка браузера без задания для большинства посетителей.
Почему в MODX приходит спам, хотя стоит капча?
Чаще всего бот отправляет данные прямо в обработчик, минуя форму, или капча стоит не на всех формах. Проверьте все вызовы FormIt и добавьте поле-ловушку с валидатором blank.
Как удалить спам-аккаунты в Joomla?
Отфильтруйте пользователей по дате регистрации и статусу активации, удалите неактивированных, затем отключите или защитите регистрацию, чтобы они не появлялись снова.
Где в OpenCart включить капчу?
Сначала установите и включите расширение капчи в разделе расширений, затем в настройках магазина на вкладке «Опции» выберите её и отметьте страницы, где её показывать.
Работает ли хук spam в FormIt без настройки?
Да, он проверяет адрес почты отправителя по спам-базам. Для полной защиты добавьте поле-ловушку с валидатором blank.
Нужно ли отключать регистрацию в Joomla?
Если на сайте нет личного кабинета для посетителей — да. Включённая без нужды регистрация — главный источник спам-аккаунтов в Joomla.
Куда вставить код nbots в OpenCart?
В файл шапки вашей темы перед закрывающим тегом head, так же как счётчик Метрики. После обновления темы проверьте, что код на месте.