Формы обратной связи, регистрация на сайте и подписки на рассылку — основные точки входа для спам-ботов и нецелевых обращений. Значительная часть мусорного трафика поступает с почтовых адресов в иностранных доменных зонах: .com, .net, .org и десятков других. Для бизнесов, ориентированных на российский рынок, такие обращения практически никогда не представляют коммерческой ценности. Скрипт «Блокировка регистраций и отправки писем по email» для 1С-Битрикс автоматически фильтрует все формы и регистрацию, разрешая отправку только с почтовых адресов в зонах .ru и .рф с возможностью добавления собственных доменов.
Лёгкий и эффективный скрипт для сайтов на 1С-Битрикс, запрещающий регистрацию и отправку любых форм, если email-адрес не принадлежит разрешённым доменным зонам. По умолчанию допускаются только .ru и .рф. Администратор может расширить список, добавив собственные домены. Двойная проверка на стороне клиента и сервера исключает обход защиты.
Принцип фильтрации доменов
Скрипт анализирует доменную зону email-адреса, указанного в любой форме на сайте. Разрешённые и блокируемые зоны чётко разделены.
- user@mail.ru
- user@pochta.рф
- user@yandex.ru
- user@company.ru
- user@gmail.com
- user@yahoo.net
- user@outlook.org
- user@proton.de
Функции скрипта
Скрипт обеспечивает двухуровневую фильтрацию email-адресов: мгновенную на стороне браузера для удобства пользователя и надёжную серверную для защиты от обхода.
JavaScript-скрипт перехватывает отправку любой формы, содержащей поле email. Если доменная зона адреса не входит в список разрешённых, отправка блокируется мгновенно, а пользователь получает информативное сообщение с просьбой указать адрес в зоне .ru или .рф. Проверка происходит без перезагрузки страницы.
Дублирующая проверка на уровне сервера защищает от обхода клиентской валидации. Если запрос с недопустимым email поступит напрямую (минуя JavaScript), серверный обработчик перехватит его и заблокирует регистрацию или отправку формы. Это исключает возможность обхода через отключение JavaScript в браузере.
Форма регистрации нового пользователя на сайте контролируется скриптом. Попытка зарегистрировать аккаунт с email-адресом в запрещённой доменной зоне будет отклонена как на стороне браузера, так и на сервере. Это кардинально сокращает количество спам-аккаунтов и нецелевых регистраций.
Скрипт применяется ко всем формам на сайте, содержащим поле email: обратная связь, заявка на звонок, подписка на рассылку, запрос коммерческого предложения и любые другие. Единая точка контроля охватывает весь сайт без необходимости настраивать каждую форму отдельно.
Администратор может расширить список разрешённых зон и конкретных доменов. Например, добавить .by и .kz для работы со странами СНГ, или разрешить конкретный домен gmail.com для партнёров. Список хранится в конфигурационном массиве и легко редактируется без глубоких технических знаний.
При блокировке пользователь видит понятное и вежливое сообщение о том, что на данном сайте принимаются только email-адреса в российских доменных зонах. Текст сообщения настраивается администратором. Пользователь не теряет введённые данные в других полях формы и может сразу исправить адрес.
Схема работы скрипта
Проверка выполняется в два этапа: мгновенно в браузере при нажатии кнопки отправки и повторно на сервере при обработке запроса.
Посетитель вводит имя, email-адрес, текст сообщения и нажимает кнопку отправки. Форма может быть любой: регистрация, обратная связь, подписка, заявка.
JavaScript перехватывает событие отправки, извлекает значение email-поля и проверяет доменную зону. Результат определяется мгновенно:
Форма отправляется на сервер
Сообщение об ошибке, отправка отменена
Если запрос прошёл клиентскую валидацию (или был отправлен напрямую), серверный обработчик выполняет повторную проверку доменной зоны. При обнаружении запрещённого домена регистрация или отправка формы блокируется на уровне PHP.
Форма с разрешённым email успешно отправлена. Регистрация с российской почтой завершена. Все обращения с иностранных доменов отсечены на обоих уровнях без нагрузки на сервер и базу данных.
Структура файлов скрипта
Решение состоит всего из двух файлов: серверного обработчика и клиентского скрипта. Минимальное количество файлов обеспечивает лёгкую установку и отсутствие конфликтов с другими компонентами сайта.
local / php_interface / init.php
Серверный обработчик. Интегрируется в цепочку событий 1С-Битрикс и обеспечивает фильтрацию на уровне PHP, которую невозможно обойти отключением JavaScript.
- Перехват события регистрации пользователя (OnBeforeUserRegister)
- Перехват отправки форм Битрикс (OnBeforeResultAdd)
- Извлечение домена из поля EMAIL и проверка зоны
- Конфигурационный массив разрешённых зон и доменов
- Подключение клиентского скрипта через AddHeadScript
- Возврат ошибки с настраиваемым текстом сообщения
local / js / email-ru-validator.js
Клиентский скрипт валидации. Работает в браузере посетителя и обеспечивает мгновенную обратную связь без перезагрузки страницы.
- Автоматическое обнаружение всех форм с полем email на странице
- Перехват события submit и валидация перед отправкой
- Извлечение доменной зоны и сверка со списком разрешённых
- Отображение стилизованного сообщения об ошибке
- Валидация в реальном времени при вводе (onblur)
- Сохранение остальных полей формы при ошибке
Если необходима индивидуальная разработка
Ниже представлена оценка трудозатрат на создание скрипта. Расчёт выполнен для специалиста среднего уровня квалификации. Стоимость внедрения на сайт клиента оговаривается отдельно и в определённых случаях может быть бесплатной — например, если у клиента имеется тестовый сайт для проверки работоспособности скрипта.
| Файл / компонент | Описание работ | Часы |
|---|---|---|
| init.php | Разработка серверного обработчика событий. Регистрация обработчиков OnBeforeUserRegister и OnBeforeResultAdd. Извлечение доменной зоны из email-адреса с поддержкой кириллических доменов (.рф). Формирование конфигурационного массива разрешённых зон и конкретных доменов. Генерация ошибки с настраиваемым текстом при несоответствии. Подключение клиентского JS-скрипта через штатные методы Битрикс. | 4 ч |
| email-ru-validator.js | Разработка клиентского скрипта валидации. Автоматическое сканирование DOM для обнаружения всех форм с полями типа email. Перехват события submit. Извлечение и нормализация доменной зоны. Сверка со списком разрешённых. Отображение стилизованного блока ошибки рядом с полем. Валидация при потере фокуса (onblur). Сохранение данных остальных полей. Минификация итогового файла. | 4 ч |
| Тестирование | Проверка работоспособности на формах регистрации, обратной связи, подписки и заказа. Тестирование с различными email-адресами: .ru, .рф, .com, .net, .org, .de и другие зоны. Проверка серверной валидации при отключённом JavaScript. Тестирование добавления кастомных доменов. Проверка совместимости с AJAX-формами и модулями Битрикс. | 3 ч |
| Документация | Инструкция по установке и подключению. Описание формата конфигурационного массива. Руководство по добавлению разрешённых зон и доменов. Примеры типичных конфигураций для различных сценариев. | 1 ч |
| Итого на разработку скрипта | 12 ч | |
Указанная стоимость включает лицензию на размещение скрипта на одном веб-проекте. При необходимости использования на нескольких сайтах приобретается дополнительная лицензия для каждого проекта. Лицензия предоставляется бессрочно и включает все обновления в рамках текущей мажорной версии скрипта.
Каждый сайт индивидуален по набору установленных модулей, используемым формам и способам их обработки. Если после установки скрипта фильтрации email возникнут ошибки при отправке легитимных форм, некорректная работа с AJAX-отправкой или конфликты с другими компонентами вашего сайта, специалисты компании ВеоМедиа устранят их бесплатно в рамках гарантийной поддержки.
Функциональность скрипта может быть расширена под задачи вашего проекта. Например, добавление логирования заблокированных попыток, интеграция с административной панелью для управления списком доменов без редактирования кода, уведомления администратора о подозрительной активности, выборочное применение к отдельным формам. Любые доработки обсуждаются и оцениваются отдельно. Текущий скрипт предоставляется исключительно с функциями, описанными в разделе выше.
Анализ спам-регистраций и мусорных обращений через формы российских сайтов показывает, что подавляющее большинство нежелательных запросов поступает с адресов в зонах .com, .net, .org и экзотических доменах. Автоматические боты массово генерируют аккаунты на gmail.com, outlook.com, yahoo.com и десятках других сервисов, заполняя базу данных сайта фейковыми пользователями. Для бизнесов, работающих исключительно с российской аудиторией, фильтрация по доменной зоне email является простым и высокоэффективным барьером, устраняющим до 95% спам-активности без ущерба для целевых клиентов.

