Борьба со спамов в PHPFOX 3
20.09.2017 03:26:39 pm
Почти сразу после установки движка phpFOX, меня одолели спам боты. В день было по 25 - 40 регистраций и спам записей в блоге. Не помогает даже reCaptcha...
Побродив по Админ панели, нашел небольшой раздел: Анти Спам Вопрос (Админ панель > Модули > Пользователь > Анти Спам Вопрос), который выводит в форму регистрации простые вопросы, на которые должен ответить пользователь, если ответ был дан не верно, скрипт выдаст ошибку. Я написал несколько не сложных вопросов, на которые может ответить даже первоклассник, например: три + один, все знают, что правильный ответ четыре. А вот спам боты этого не знает, ну а если знают, то не все, по этому ему зарегистрироваться гораздо сложнее.
После написания вопросов, пока еще не было ни одного спама. Я даже отключил reCaptcha, так как боты обходят её как за здрасте, а простым пользователям порой очень надоедает вводить исковерканные буквы, по нескольку раз. Получается reCaptcha бесполезна, а вот банальные вопросы спасают от лишней работы - очистки проекта от грязи.
Побродив по Админ панели, нашел небольшой раздел: Анти Спам Вопрос (Админ панель > Модули > Пользователь > Анти Спам Вопрос), который выводит в форму регистрации простые вопросы, на которые должен ответить пользователь, если ответ был дан не верно, скрипт выдаст ошибку. Я написал несколько не сложных вопросов, на которые может ответить даже первоклассник, например: три + один, все знают, что правильный ответ четыре. А вот спам боты этого не знает, ну а если знают, то не все, по этому ему зарегистрироваться гораздо сложнее.
После написания вопросов, пока еще не было ни одного спама. Я даже отключил reCaptcha, так как боты обходят её как за здрасте, а простым пользователям порой очень надоедает вводить исковерканные буквы, по нескольку раз. Получается reCaptcha бесполезна, а вот банальные вопросы спасают от лишней работы - очистки проекта от грязи.
- Жалоба
10.01.2018 01:57:46 pm
Я уже давно отключил вопросы, так как мне и это показалось лишней тратой времени пользователей. Я сделал невидимое поле и проверяю его - заполнено оно или нет, если поле заполнено, значит останавливаю сценарий, так как невидимо поле заполняет только бот, реальный человек его не видит (пока не полезет в исходный код страницы). Долгое время это помогало, но вдруг появилось одно недоразумение, которое регистрировалось с электронной почты "чето_там@163.com" и отправляло спам статусы, статьи, темы и так далее. Удалишь пользователя со всеми записями, на следующий день снова появится.
Я решил ограничить регистрацию с этой почты (вдруг поможет!). Думаю в движке имеется какой нибудь список запрещенных электронных почт, как, например, Email White List (Белый список электронной почты) (местонахождение: Менеджер настроек > Core), но если честно, я не разобрался для чего он там нужен. Я сделал на скорую руку такую затычку: в файле: module/user/include/component/controller/register.class.php, после:
Добавил:
Посмотрим, как теперь будет пролазить недоразумение к нам на сайт.
Конечно, было бы удобнее сделать отдельное поле для ввода почтовых сервисов, но пока так...
В скором будущем я переделаю всю эту конструкцию.
Я решил ограничить регистрацию с этой почты (вдруг поможет!). Думаю в движке имеется какой нибудь список запрещенных электронных почт, как, например, Email White List (Белый список электронной почты) (местонахождение: Менеджер настроек > Core), но если честно, я не разобрался для чего он там нужен. Я сделал на скорую руку такую затычку: в файле: module/user/include/component/controller/register.class.php, после:
$oValid = Phpfox::getLib('validator')->set(array('sFormName' => 'js_form', 'aParams' => Phpfox::getService('user.register')->getValidation()));
if ($aVals = $this->request()->getArray('val'))
{
Добавил:
if (!empty($aVals['email']) && strpos($aVals['email'], '@') !== false)
{
$piece = explode('@', $aVals['email']);
if ($piece[1] == '163.com')
{
exit;
}
}
Посмотрим, как теперь будет пролазить недоразумение к нам на сайт.
Конечно, было бы удобнее сделать отдельное поле для ввода почтовых сервисов, но пока так...
В скором будущем я переделаю всю эту конструкцию.