Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекращает поддержку phpBB версии 3.2.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2020 года.
С учетом этого, а также того, что версия 3.2.x больше не будет получать обновлений, за исключением связанных с проблемами безопасности
(только при их наличии и только до 7 ноября 2020 года), рекомендуется обновить конференции до версии 3.3.x.

Антибот 100500

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2890
Стаж: 11 лет 8 месяцев
Благодарил (а): 24 раза
Поблагодарили: 1043 раза

Антибот 100500

Сообщение Nekstati »

Мод исключает активность спам-ботов, не поддерживающих Javascript. Если на вашем форуме спамят именно такие боты, то вы сможете забыть о спаме и даже отключить капчу. А если у вас водятся умные редкие звери с поддержкой Javascript, то пользы от этого мода вам не будет. Определить это можно лишь опытным путём. :)

Побочный эффект: пользователи, в браузерах которых отключён Javascript, не смогут регистрироваться и оставлять сообщения. Они будут получать ошибку отправки формы. У кого-то из вас Javascript таки отключён? Вы молодец, купите себе сникерс.

Установка мода: 1) скопировать файл hook_antibot100500.php в папку includes/hooks/, 2) очистить кэш форума.

———————————————————————————————

Опционально, для успокоения нервов любителей сникерсов, можно изменить текст выводимой ошибки: найти в файле language/ru/common.php

Код: Выделить всё

	'FORM_INVALID'			=> 'Ошибка отправки формы. Попробуйте ещё раз.',
и заменить на что-то вроде

Код: Выделить всё

	'FORM_INVALID'			=> 'Ошибка отправки формы. Попробуйте ещё раз. Проверьте, включён ли Javascript.',
Если хотите, можете оставить антибот включённым только для гостей, хотя теоретически при этом опасность прорывания спама может увеличиться (т. е. если бот каким-то образом умудрится зарегистрироваться, то спамить ему уже ничто не помешает). Для этого найдите в хуке строку

Код: Выделить всё

	if (!defined('ADMIN_START') && !defined('IN_INSTALL') && defined('HEADER_INC') && !empty($template->_rootref['S_FORM_TOKEN']) && isset($template->_rootref['DEBUG_OUTPUT']))
и замените на

Код: Выделить всё

	if (!$user->data['is_registered'] && defined('HEADER_INC') && !empty($template->_rootref['S_FORM_TOKEN']) && isset($template->_rootref['DEBUG_OUTPUT']))
Решение проблемы "Ошибка отправки формы" в мобильных и не стандартных стилях --> читать тут
antibot100500_v4.zip
(1 КБ) 2255 скачиваний
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 15 лет 6 месяцев
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: Антибот 100500

Сообщение MAzZY »

Это тот самый мод, о котором шла речь вот здесь - Антиспам-мод
Визуальное подтверждение можно отключить. Оставьте что-то только для случаев, когда пользователь три раза ошибается с вводом пароля.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2193
Стаж: 12 лет 11 месяцев
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 340 раз

Re: Антибот 100500

Сообщение nissin »

Кто-нибудь в Хроме проверял?
А то клиент пожаловался, что перестали работать формы в админ.разделе и я мод быстренько удалил (разбираться некогда было).
Всё повторяется. nurlan.info
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2890
Стаж: 11 лет 8 месяцев
Благодарил (а): 24 раза
Поблагодарили: 1043 раза

Re: Антибот 100500

Сообщение Nekstati »

nissin, это оттого, что я забыла, что на одной странице может быть несколько форм. :) Исправлено. Кто использует мод, обновите его, пожалуйста.
Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11660
Стаж: 13 лет 9 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2646 раз

Re: Антибот 100500

Сообщение Sheer »

Ок. С этим разобрались. Еще баг: если создано каке-либо дополнительное поле в профиле, и если это поле отображается форме регистрации, то после строки
Поля вашего профиля, отмеченные *, обязательны к заполнению. и между формой ввода информации в поле имеем

Код: Выделить всё

[phpBB Debug] PHP Notice: in file [ROOT]/includes/hooks/hook_antibot100500.php on line 27: Undefined index: DEBUG_OUTPUT
Соответственно регистрация не работает: Ошибка отправки формы
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2890
Стаж: 11 лет 8 месяцев
Благодарил (а): 24 раза
Поблагодарили: 1043 раза

Re: Антибот 100500

Сообщение Nekstati »

Sheer, на этот раз я не учла, что функция $template->display может, кажется, вызываться неоднократно во время генерации одной страницы. :o Исправлено, перекачайте.
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 11 лет 8 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 352 раза

Re: Антибот 100500

Сообщение MIT »

Nekstati писал(а):$template->display может, кажется, вызываться неоднократно во время генерации одной страницы
Мод не ставил, но проверь ещё предпросмотр сообщений. Оная функция также вызывается при предпросмотре во время генерации разметки для inline-вложений.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2890
Стаж: 11 лет 8 месяцев
Благодарил (а): 24 раза
Поблагодарили: 1043 раза

Re: Антибот 100500

Сообщение Nekstati »

MIT, проверила, вроде всё ОК, спасиб.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2193
Стаж: 12 лет 11 месяцев
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 340 раз

Re: Антибот 100500

Сообщение nissin »

Поставил заново, попросил проверить. Надеюсь всё будет работать.

Из предложений:
1) может стоит xor-ить form_token и sid, а то слишком просто (обрезаешь последние символы из form_token и вуаля).
2) вынести javascript в отдельный файл (скрипт php), дабы код сильно не светился.
Всё повторяется. nurlan.info
Аватара пользователя
MIT
Former team member
Сообщения: 2500
Стаж: 11 лет 8 месяцев
Откуда: 56°20′02″ с. ш. 36°42′45″ в. д.
Благодарил (а): 4 раза
Поблагодарили: 352 раза

Re: Антибот 100500

Сообщение MIT »

nissin, нет смысла. Суть этого антибота — отсечь тех, которые не понимают JS. А если понимают, то какая разница, где будет этот код находится? Защиту же от персональных парсеров, заточенных именно под конккретный (этот или любой другой) антибот, сделать довольно сложно.
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2193
Стаж: 12 лет 11 месяцев
Откуда: Павлодар
Благодарил (а): 7 раз
Поблагодарили: 340 раз

Re: Антибот 100500

Сообщение nissin »

В данном случае понимать JS боту не нужно. Отпарсил страницу и заменил значение form_token. Эффект примерно такой же, если просто добавить обязательное дополнительное поле.
А если будет подключенный в header javascript файл, то не факт, что его сразу заметят, и его ещё парсить дополнительно придётся.

Боты конечно персонально затачиваются под любой сайт, но наша задача максимально осложнить им это дело.
Всё повторяется. nurlan.info
soprom
phpBB 1.0.0
Сообщения: 4
Стаж: 10 лет

Re: Антибот 100500

Сообщение soprom »

Поставил Ваш мод,однако в четырёх браузерах при регистрации и отправки сообщений вылазиет данная ошибка
"Преданные данные не корректны. Попробуйте еще раз.Проверьте, включён ли Javascript."
Javascript включён.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 2890
Стаж: 11 лет 8 месяцев
Благодарил (а): 24 раза
Поблагодарили: 1043 раза

Re: Антибот 100500

Сообщение Nekstati »

Ссылку.
Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11660
Стаж: 13 лет 9 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 53 раза
Поблагодарили: 2646 раз

Re: Антибот 100500

Сообщение Sheer »

soprom
Корявые java-скрипты в вашем коде могут провоцировать подобное явление при установленном моде. Проверяйте.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
soprom
phpBB 1.0.0
Сообщения: 4
Стаж: 10 лет

Re: Антибот 100500

Сообщение soprom »

Nekstati писал(а):Ссылку.
Отправил в личку.

Вернуться в «Бета-версии модов для phpBB 3.0.x»