Защита форума phpBB от авторегистраций
Сегодня я представлю простое, но эффективное решение по защите phpBB от авторегистраций. Стандартные капчи боты обходят легко. Мы не пойдем по пути усложнения капчи. А просто спрячем капчу от ботов.
Картинку можно спрятать несколькими способами. На ум приходит:
— Генерация HTMLконтента по средством javascript:
боты редко могут обработать js-код, поэтому картинку с кодом они не получат. Стоит отметить, что это довольно-таки сложное решение, ввиду того, что нужно переписать полностью несколько страниц кода.
— Подгрузка Картинки через ajax:
боты редко могут обработать js-код. Это решение проще, чем первое. Но и обходится ботами легче.
— Оборачивание картинки в фрейм (iframe):
боты не обрабатывают фреймы. Самое простое решение, требующее добавления всего пары тегов!
Давайте сразу расставим все точки над i. Если у вас большой и популярный ресурс, то ожидайте ботов, адаптированных под вашу защиту. Придется комбинировать сразу несколько способов защиты. Если же у вас небольшой форум, то никто затачиваться под него не будет. И подойдет даже самая простая защита.
Итак. Мы будем защищать картинку через фрейм. Для этого необходимо:
0. Зайти под администратором в раздел Общие -> Конфигурация -> Средства против спам-ботов. Выбираем «простая картинка»
1. Найти каталог со стилями темы (достаточно проделать все манипуляции для той темы, которая отображается в момент регистрации). У меня установлена тема Hestia Blue. Файлы темы находятся тут: /fuel-php.ru/public_html/styles/hestia_blue/template
2. Найти файл, отвечающий за генерацию капчи. За «простую картинку» отвечает файл captcha_default.html
. В зависимости от темы структура кода может меняться. Нам надо найти константу {CONFIRM_IMAGE_LINK}
.
3. Отредактировать его, добавив теги фрейма.
Было:
<img src="{CONFIRM_IMAGE_LINK}" alt="{L_CONFIRM_CODE}" /> |
Стало:
<iframe src="{CONFIRM_IMAGE_LINK}"></iframe> |
Если необходимо более красивое решение (убрать рамку вокруг фрейма), то можно настроить фрейм:
<iframe src="{CONFIRM_IMAGE_LINK}" width=320 height=50 frameborder=0></iframe> |
примечание: даже при указании размеров фрейма некоторые браимают его (замечено в FF10), хотя картинка с кодом остается читабельной.
4. Сбросить кэш. Есть 2 варианта:
Удаляем все файлы с расширением .php
из каталога /fuel-php.ru/public_html/сache
.
Или в админке переходим в:
Стили -> Компоненты стилей -> Шаблоны -> Кэш (напротив названия вашей темы), выделяем и удаляем все файлы из кэша.
Итак, мы защитили форум на phpBB от простых спам-ботов. Как уже писал выше, защита простая, но работает.
Еще можно попробовать Клинтолк http://cleantalk.ru/phpbb3, с простыми ботами справляется хорошо + можно вообще отказаться от капчи, облегчить регистрацию на форуме.
Вопрос такой! Как убрать реф.ссылку в ПХП?
Не понял ваш вопрос. Что именно вы имели в виду?