Битрикс — спам при регистрации

В связи с частыми просьбами, побороть спам при регистрации, делюсь с вами одним из решений.

Добавляем исключение при регистрации на спам-ботов в Битриксе

Все обработчики события добавляются в init.php. Код будет работать как для новых пользователей, так и при сохранении старых (на всякий случай).

// добавляем обработчик события при регистрации
AddEventHandler("main", "OnBeforeUserRegister", "OnBeforeUserRegisterHandler");
// а заодно и при обновлении данных пользователем
AddEventHandler("main", "OnBeforeUserUpdate", "OnBeforeUserRegisterHandler");

// описываем саму функцию
function OnBeforeUserRegisterHandler($args)
{
	if (strstr($args['NAME'], 'Вам оплатили') || strstr($args['LAST_NAME'], 'www.')) {
		$GLOBALS['APPLICATION']->ThrowException('Ошибка. Обратитесь к администратору!');
		return false;
	}
	return true;
}

Как видно из кода, в исключения попадают боты у которых в имени есть «Вам оплатили» ИЛИ в фамилии указывается www. Сразу скажу, решение не самое идеальное в плане проверки кода, strstr всё таки немного не для этих целей создавалась :).

Делитесь своими решения по борьбе со спамом в комментариях.

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
- Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
- Разработка функционала с нуля и доработка кода на уже созданных проектах;
- Адаптивная вёрстка макетов и натяжка на Битрикс;
- Парсинг файлов и выгрузка на сайт (форматы - CSV, XML, XLSX, JSON)
- Интеграции со сторонними сервисами по API;
- Многоязычные версии и многое другое.

Если у вас остались вопросы, свяжитесь со мной любым удобным для вас способом или оставьте комментарий внизу.
E-mail: dmitriyribka@gmail.com
Skype: cinemacreaterus

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *