вторник, 18 марта 2008 г.

Защита форума phpBB от спамеров

Сегодня внедрил небольшие хитрости для защиты от спамеров, как в описаной ниже статье. Все про все заняло 3 минуты, посмотрим, может этих гадов действительно станет меньше.
Огромное спасибо авторам, текст взял тут:
http://my-cms.jino-net.ru/index.php?cap=antispamphpbb2
Защита от спама в форумах phpBB2
Автор: Акатов Алексей


В одной из статей приводились примеры защиты от спамерских атак форумов и гостевых книг. При этом не рассматривался какой-либо конкретный движок, рассматривались только общии идеи. В этой статье рассказывается о способе защиты от спамеров на примере форумов phpBB2. Дается опробованный на практике работающий способ отражения атак роботов-спамеров.

Прежде всего посмотрим, что необходимо сделать администратору форума для предотвращения автоматической публикации спамерских сообщений:
Нужно запретить гостям создавать новые темы и оставлять сообщения во всех разделах форума. Это поможет защититься от самых примитивных автопостеров спамеров, но в тоже время и самых распространенных.
Необходимо включить функцию подтверждения реальности введенного E-Mail адреса при регистрации (высылка специального письма, без прочтения которого невозможно завершить регистрацию). Делается это на страничке "Конфигурация" панели администрирования присваиванием параметру "Включить активизацию учётных записей" значения "Пользователем". В результате чего спамерский робот не сможет зарегистрироваться на форуме не имея реального ящика, который он должен уметь просматривать и читать почту.
Кроме этого движок phpBB2 позволяет добавить на форму регистрации специальную картинку, текст с которой необходимо ввести пользователю. Это самый надежный способ. Но есть одно большое "НО"! Движок форумов phpBB2 является одним из самых распространенных в сети и при этом имеет не очень сложный метод генерации контрольной картинки, которую легко можно распознать при помощи специальной программы, чего и научились делать спамеры.
Подведем итог всему вышесказанному. Ни один из описанных методов не спасает от спам-роботов последнего поколения, которые научились не только регистрировать пользователей, менять их профиль, читать почту, но и даже распознавать картинку! Причем очень часто спамеры не публикуют на форуме ни одного рекламного сообщения, а просто регистрируют пользователей, указывая у них в профиле URL нужного сайта. В результате администратор не обращает внимания на появление пользователей-ботов, а спамеры делают свое дело.

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

За вывод картинки отвечает скрипт usercp_confirm.php, находящийся в папке includes. Посмотрим, что он выдаст (например, код следующий: "FEU4XK"):

Распознать такой текст не составит большого труда.

В качестве варианта предлагаю заменить указанный выше скрипт на тот, что можно скачать здесь (1 Kb, скачено: 358). У него есть один недостаток: он выводит картинку используя графическую библиотеку PHP, а исходный вариант такой библиотеки не использовал. Однако практически везде данная библиотека установлена и проблемы не должны возникать. Кроме замены самого скрипта, требуется закачать еще и шрифт в формате TTF, который будет использован для вывода текста на картинку. Загружается он в туже папку (т.е. в папку includes на сервере) и должен иметь имя font.ttf.
Где же можно взять такой шрифт? Самый простой способ найти понравившейся шрифт в системе Windows (размещаются в папке C:\WINDOWS\Fonts или аналогичной). Шрифт должен содержать в себе латинский алфавит и цифры. Скопировать шрифт из указанной папки можно при помощи менеджера FAR или Total Commander, копировать при помощи Проводника не советую. Файл со шрифтом должен быть переименован в font.ttf и выложен на сервер (см. выше). При желании можете скачать неплохой вариант рукописного шрифта тут (92 Kb, скачено: 231). Ниже показана сгенерированная картинка с использованием данного шрифта (для примера выше):



Ваши мнения

Комментариев нет: