Jump to content

Скрытое поле при регистрации для защиты от спамеров

Featured Replies

Нужно сделать скрытое поле, которого при регистрации не будет видеть пользователь. С названием что-то типа e-mail. Если скрытое поле заполнено, значит регистрируется бот, значит кнопку "Зарегистрироваться" отключаем либо не выполняем действие. 

Это работает, проверенно мной на сайте, спамерские регистрации как отрезало, теперь надо реализовать на форуме. 

Вы не подскажите какие файлы копать? Может кто-то делал, и оставил инструкцию? Не очень знаю архитектуру IPS4

Link to comment
https://ipbmafia.ru/topic/20931-skrytoe-pole-pri-registracii-dlya-zashity-ot-spamerov/
Share on other sites

\applications\core\modules\front\system\register.php

Найти

		$form = \IPS\core\modules\front\system\register::buildRegistrationForm();

Ниже добавить

		$form->add( new \IPS\Helpers\Form\Text( 'email_1', '', false, null, function( $value )
		{
			if( $value )
			{
				throw new \InvalidArgumentException('form_required');
			}
		}, null, '<style>#form_email_1{display:none;}</style>' ) );

Если это поле будет заполнено, выдаст ошибку что поле обязательно для заполнение.
Но мне кажется ботов это не сильно остановит.

Огромное спасибо, сейчас попробую. По идее должно остановить. 

2 часа назад, siv1987 сказал:

Ниже добавить



 

Выдает ошибку при клике на кнопку "Регистрация"

Parse error: syntax error, unexpected 'if' (T_IF) in /***/applications/core/modules/front/system/register.php on line 176

По моему вы пропустили точку с запятой в конце кода или не правильно скопировали.

Да, скопировался лишний символ. Все работает, спасибо. Послежу теперь, позже постараюсь не забыть отписаться. Сейчас от ботов отбоя нет. 

Ждем отчета. Для чистоты эксперимента можно постепенно убрать вопрос ответ и капчу.
Название скрытого поле лучше не использовать на всех форумов одинаково.

Ждём отчета, хорошая идея.

Я только поменял пару моментов.

display:none 

слишком очевидно, может какая проверка у бота есть. сделал

height: 1px; overflow: hidden;

и поле назвал e-mail (стандартное поле называется email без дефиса).

Это, конечно, не лучший выход, ведь не всегда получается указать нужное кол-во тех самых почт, но свой форум от спамеров я защетил таким способом:

АП - Пользователи - Регистрация - "Разрешённые для регистрации email-домены". Установил там нужные мне почты, которые чаще всего используются. Больше регистраций спамеров я не замечал.

Как показывает практика большинство спам-ботов используют ящик gmail.com

недавно 5 спам ботов зарегались по почте yandex.com ?

и регу так не подтвердили.

ну я проверил их адреса. все в спам реестре.

и через 3 дня система удалила их аки. как не подтвержденные ?

мое средство работает, боты регаться перестали

1 час назад, Catalo сказал:

мое средство работает, боты регаться перестали

А пользователи? ?

2 часа назад, Catalo сказал:

мое средство работает, боты регаться перестали

Отчет как то пустовато получился. Не очень объективно, учитывая сколько у вас там средств защиты от ботов. Нужно как минимум взять все ип адреса регистрации с момента установки этой модификации и проверить по спамбазе. Потом взять такой же промежуток времени до установки этого поле и также проверить ип по базе. Понятное дело что некоторые ип на момент регистрации могут быть чистыми, но такое как правило бывает редко. Прочие факторы должны быть равны, чтобы не искажали результат.

  • 1 месяц спустя...

Будет ли кому интересно...

Где-то нашел плагин DeleteMyAccount, добавляет в настройки профиля пользователя кнопку с просьбой удалить аккаунт.

В итоге в день человек 10 запрашивают удаление. У них дата/время регистрации почти совпадает с запросом удаления аккаунта. Это значит бот регистрируется и тут же сканирует эту кнопку тем самым вызывая запрос удаления аккаунта.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.