Защита от спама форума SMF 1.1.x
SMF-движок один из самых любимых движков спамеров. Почему — сказать трудно, наверно, из-за дефолтных настроек двига, при которых каптча там очень лёгкая для распознавания автоматом, а также поставленная по умолчанию мгновенная регистрация юзера (без email подтверждения). И беда в том, что штатными средствами SMF тут не обойтись :(
Посмотрите на эту каптчу, устанавливаемую при создании нового форума:
Разные цвета букв хороши для удаления шума, небольшой наклон легко повернуть. Сделав её черно-белой, можно с лёгкостью определить символы. Эта каптча распознаётся автоматом.
Вот пример более сложной каптчи, которую можно выбрать в админке SMF — она там называется «hight (Высокая сложность)».
Действительно, эту каптчу распознать заметно сложнее — разные шрифты, инвертирование, дополнительные линии для увеличения общего шума. Не знаю, насколько точно можно расшифровать эту каптчу, но думаю, если специально под неё заточить распознавание, то можно добиться 3-10% пробива. Собственно, это я и наблюдал на одном из своих форумов, где каждый день сваливалось по 3-8 сообщений спама.
Давайте посмотрим, что нам предлагает раздел модификаций SMF. Негусто, учитывая то, что проблема острая, а актуальных модов (не старше хотя бы года после последнего обновления) всего три:
Вторая, с часами — какая-то хрень, мне не понравилось, третья — это рекаптча, известная штука. Захотелось мне попробовать первый мод — AVVM :) Поставил — и нарадоваться не мог — он защищает не только от спама при постинге, но и от спама по личкам! Однако, чрз некоторое время начал получать недовольные отзывы от пользователей форума — оказывается, эта каптча не всегда правильно генерит картинку — иногда букв не хватает, т.е., требует для ввода пять символов, а на картинке — четыре. Парсинг оф.форума ничего не дал. Пришлось мне от неё отказаться :(
Поставил reCAPTCHA. Тоже хорошая каптча:
Правда, она только заменяет стандартную у SMF, и не встраивается при отправке ЛС. И ещё, если у вас форум на русском, то придётся немного поработать руками :), т.к. мод не русифицирован. На ней и остановился пока.
Окей, каптча поставлена, но спам всё равно проскакивает! Как же так? Ответ достаточно прост — это «китайцы». Дело в том, что есть сервисы, которые позволяют распознавать каптчи в ручном режиме. То есть, каптчу распознают живые люди, которые зарабатывают тем, что сидят и непрерывно вбивают каптчи. Стоимость такой работы очень низка, поэтому, обычно этим занимаются китайцы или индусы. И тут уже никакая (приемлимая для посетителей) каптча не спасёт — распознаваемость такого метода 90%.
Поэтому, что еще можно сделать для усиления защиты от спама:
- поставить подтверждение реги по мылу (members (пользователи) -> registration (регистрация) -> settings (настройки) -> Method of registration employed for new members (Способ регистрации новых пользователей) поставить «Member Activation» (активация пользователя)).
- создать дополнительные поля при регистрации (мод Custom Profile Field Mod позволяет добавить произвольные поля при регистрации и соответствующие условия их проверки).
- установить небольшой хак в forum/sources/post.php, перед комментарием
// Check the subject and message.
Добавить код
if (substr_count(strtoupper($_POST['message']), '[URL]') > 1) { if ($user_info['posts'] < 5 || $user_info['total_time_logged_in'] > 60 || $user_info['is_guest']) { $post_errors[] = 'too_many_links'; } }
А также добавить в дефолтную тему в языковые файлы Errors.english.php и Errors.russian-utf8.php описание ошибки, которое будет выводиться:
$txt['error_too_many_links'] = 'The message contains too many external links.'; $txt['error_too_many_links'] = 'В сообщении слишком много внешних ссылок.';
Чего делает этот хак: он выводит вышенаписанную ошибку при постинге в сообщении более одной ссылки следующим группам лиц :)
— гостям
— пользователям, у которых менее 5 сообщений
— пользователям, которые находятся на форуме меньше одной минуты.
Код довольно простой, я думаю, сами разберётесь и настроите под свои нужды. (кстати, идея не моя, а стырена отседова, правда, там с ошибками, я исправил и доработал. Спасибо мне :))
PS: А чего в итоге выбрал я? Я поставил рекаптчу и воспользовался третьим советом (со вставкой кода), т.к. не хотелось отказываться от возможности постинга гостями без регистрации.
Soon the end of the world, scientists have confirmed this fact ((details here — [b]tinyurl.com/d65gwa4 [/b]
Skoro konec sveta, ychenie dokazali, vse podrobnosti tyt -[b] tinyurl.com/d65gwa4[/b]
[Ответить]
Спасибо, хотелось бы инструкций по установке рекапчи
[Ответить]
Спасибо за стать, буду защищать…. а то эти спамеры достали
[Ответить]
Здравствуйте! Подскажите где реально получить срочно ссуду?
[Ответить]
Спасибо за информацию. У самого форум на SMF. Будем защищаться.
[Ответить]