Captcha для Joomla 1.5

В стандартной поставке Joomla 1.5 наблюдается одно досадное недоразумение — форма контактов и форма регистрации никак не защищены от спам-ботов. Результат (в котором я убедился на собственном опыте) — куча левых регистраций новых пользователей и ежедневные свежие порции спама, отправляемые через форму обратной связи. Ну что же, раз стандартных средств защиты нет, будем устанавливать сторонние.

Captcha для Joomla 1.5

Какой самый простой способ защиты от спам-ботов? Правильно — CAPTCHA.

Поиск по любимому форуму однозначного решения не принес, и я отправился за ним в соответствующий раздел на extensions.joomla.org. Иногда бывает трудно сделать выбор, но в данном случае я не долго сомневался. После отсечения платных и слишком тяжеловесных решений выбор очень сильно сузился, а после тестирования на локалке я сделал для себя однозначный выбор — OSOLCaptcha.

OSOLCaptcha — это очень простой и легковесный плагин, который при всей своей простоте обладает всем, что необходимо для решения поставленной задачи. Настроек довольно мало:

OSOLCaptcha для Joomla

Как видно из скриншота, в настройках можно задать цвет фона и текста, указать вид текста (простой или искаженный), и выбрать, какие стандартные формы сайта необходимо защитить капчей.

Файлы локализации предусмотрены только для фронт-энда, но думаю что разобраться с админской частью не составит труда даже тем, кто практически вообще не знает английского. Кстати говоря, языковой файл для фронт-энда я перевел и могу поделиться им со всеми желающими. После установки плагина его нужно закинуть в папочку «language/ru-RU».

Приятно порадовал тот факт, что формат капчи абсолютно такой же, как у JComments, даже размер картинки тот же. Можно настроить цвета аналогично тем, которые заданы в JComments, и тогда капча в комментариях и на других формах будет выглядеть идентично.

При желании можно очень просто (добавлением одной строки кода) навесить капчу на любую другую (нестандартную) форму.

В общем, я остался доволен, чего и вам желаю 🙂

Update

После определенного периода использования плагин «OSOLCaptcha» обнаружил свою дырявость — в обход его через форму регистрации продолжали регистрироваться тонны ботов. Правда, в новой версии «OSOLCaptcha» добавлена дополнительная защита, только вот после ее включения плагин у меня вообще перестает корректно работать (правильно введенная капча не принимается).
В итоге я после некоторых дополнительных поисков и проб перешел на простую математическую капчу «EasyCalcCheck PLUS», которая (во всяком случае пока) отлично работает и имеет полезные настройки (а в качестве бонуса имеет в своем официальном составе русскоязычные языковые файлы).

Update-2

Этот сайт теперь работает на WordPress, так что не пытайтесь найти здесь примеры использования капчи для Joomla 🙂


Оставить комментарий

52 комментария на «“Captcha для Joomla 1.5”»

  1. А не подскажете, как сделать, чтоб редирект при неправильно введенной капче был на ту же страницу, где был до этого? Ато вываливается на главную страницу сайта.

  2. День добрый.
    Сделал форму с помощью FRONTPAGE, поместил ее на страничку с материалом, добавил в код строчку кода.
    В результате капчи на экране нет, только фрагмент кода: triggerEvent('onShowOSOLCaptcha', array(false));
    Что не так сделал и как довести плагин до ума? Ну очень нужно…

    • sam, выложенная мной русификация предназначена для фронтэнда, админку я не переводил.

      • Русификации фронтэнда так же не заметил, хотя все сделал вроде правильно. Создал файл ru-RU.plg_system_osolcaptcha.ini
        Положил в папку language/ru-RU. Что не так?

        • Вроде по структуре папок все должно быть понятно.
          Если все же непонятно — заглянули бы в xml-файл, там достаточно ясно прописан путь для языковых файлов:
          plugins/system/lang

          • Спасибо, как то странно даже, что не догадался туда кинуть. Сбило с толку, что перевод сделан для юзерской части.

  3. При желании можно очень просто (добавлением одной строки кода) навесить капчу на любую другую (нестандартную) форму.

    А каким образом это можно сделать, например, для формы ck form?

  4. Хм, интересную вещь я заметила, вот если поставить шаблон beez, то все работает! И каптча, и все остальные поля формы проверяются. А если поставить один из других шаблонов, то не работает. Люди добрые, подскажите – что такое есть в beez, чего нет в другом шаблоне? Уж больно шаблон мне нравится, не хочу его менять.

    • Посмотрите на описание плагина на соответствующей странице админки — там описано, как навесить плагин на любую форму.

      • Вот описание:

        Easily add captcha to joomla forms for login,registrat ion and contact us. Make sure that you publish this component,from here For adding captcha in other forms Just put <?php global $mainframe; //set the argument below to true if you need to show vertically (3 cells one below the other) $mainframe->tri ggerEvent('onShowOSOLCaptcha', array(false)); ?> in the HTML of the form where you want the captcha to show

        К сожалению, мне это ничего не дает 🙂
        Может подскажете, что конкретно нужно сделать?

  5. Такое ощущение, что captcha взломали. Поставил на регистрацию, проверил… Вроде работает, однако спам-бот регистрируется регулярно.

    • Да, у меня тоже спам проскакивает гораздо чаще, чем должел был быть при защите капчей.
      Может быть обошли защиту.
      А какая у вас версия OSOLCaptcha стоит?
      Последняя на JED — версия 1.0.6, и похоже там были какие-то значимые изменения в сторону улучшения защиты от автоматических регистраций.

    • В новой версии OSOLCaptcha (1.0.6) появилась еще одна опция — «Enable second level security for Core forms». Вот только работает она не всегда.

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

    • Ну, это перебор 🙂
      С такой капчей половина пользователей вообще не залогинится.

      • Вооо, а зачастую половина как раз неадекваты)
        Так что капча будет не только ботов обламывать, но и "гениев")

  6. Решил поставить эту каптчу, включил её и сразу выкинуло из админки на основной сайт. Хочу попасть в админ панель, но постоянно выкидывает на главную страницу сайта, копец какой-то! Да, ещё шаблон исказило не хило.

    • Попробуйте избавиться от капчи, например, удалив ее через панель хостинга. Но может дело не в капче? У меня уже полгода установлена – никаких проблем не было.

      • Избавился, удалив через FTP и почистив базу данных. Но повторные эксперименты что-то уже не хочется проводить 😐
        У меня до этого стояла каптча от Гугла, она ещё с патчем идёт JC45_Inst_JCapt ha451.zip, я её просто отключил, может её надо удалить и патч подчистить, может тогда встанет нормально, но повторюсь что боюсь теперь экспериментировать.

  7. Всё, разобрался, почему выкинуло из админ панели и перекинуло на основной сайт. Просто не надо было заполнять последний параметр "Administrator Pass Phrase", а так всё заработало и всё супер. И с включенным кешом Joomla тоже работает хорошо. Один недостаток – это то, что каптчи нет в при входе в Админ панель.

    • При включенном параметре "Auto add in Login form(component page)?" невозможно авторизоваться на сайте, выручает только это – перед вводом символов надо обновить каптчу и только после вводить её.

    • lexich, рад, что сами разобрались и спасибо, что отписались сюда о решении.
      OSOLCaptcha действительно не лишена недостатков и не всегда работает гладко. Но других достойных решений я не находил.

      P.S.: Изумляют дата и время ваших последних комментариев 🙂

      31.12.2010 23:28
      01.01.2011 01:24

      Новогодняя ночь прошла в работе?

        • Ах, да, спасибо, что напомнили о необходимости внесения правки в статью.
          Правку внес, смотрите «Update» в конце статьи.
          К сожалению, мне пришлось отказаться от использования «OSOLCaptcha».

          • Понятно, а у меня капча где-то чуть больше полугода установлена и пока все нормально. А не подскажите, как можно внедрить капчу в virtuemart (в форму регистрации интернет магазина и другие его формы)?

          • Все, нашла – Компонент JoomlaXI Captcha, как будет работать не знаю, по крайней мере интернет магазин капчу высвечивает.

          • Если у вас установлена «OSOLCaptcha» и она вас устраивает, можете посмотреть информацию о внедрении плагина в сторонние формы на странице настроек плагина. Более детальную информацию дать не могу.

      • Попозже посмотрю предложенную капчу «EasyCalcCheck PLUS». У меня на сайте просто фантастическая посещаемость ботами, как раз проверять такие вещи самое то там))

        • ОК, буду очень благодарен, если отпишетесь сюда после проверки.

          У меня на нескольких сайтах тоже была фантастическая посещаемость ботами. Каждый день приходило множество писем о новых регистрациях, которые при ближайшем рассмотрении оказывались ботами. После установки на всех сайтах «EasyCalcCheck PLUS» вот уже несколько дней никакой подозрительной активности не наблюдается. Надеюсь, боты так и не пробьются 🙂

        • Что-то он у меня работает только после очистки кеша, но стоит обновить страницу – пропадает и больше не появляется.

        • Ну да, на данный момент EasyCalcCheck PLUS сдерживает ботов полностью. Кстати там есть и настройки по работе с virtuemart и даже с шаблонами RT – удобно для тех кто не читает инструкции и абсолютно не ориентируется в коде.

          • Спасибо, что отписались.
            Я пока тоже вполне доволен работой этого плагина.
            Что и требовалось доказать 🙂

  8. Здравствуйте. Установила плагин этот на сайт и включила. Сайт перестал работать. Что делать?

    • Во-первых, непонятно, о каком именно плагине вы говорите. В статье описаны два плагина — «OSOLCaptcha» и «EasyCalcCheck PLUS».

      Во-вторых, неизвестно, на какую версию Joomla вы устанавливали плагин. Вы не написали об этом ни слова.

      В третьих, из фразы «сайт перестал работать» непонятно вообще ничего. Никакой конкретики, соответственно и ответить нечего.

      В любом случае, очевидный вариант — нужно отключить или удалить плагин. Если это не удается сделать (панель администратора не работает), то самый крайний случай — восстановление сайта из бекапа, который вы конечно наверняка предварительно сделали перед установкой нового расширения.

      • EasyCalcCheck PLUS – на версию 1.5.
        Админка даже не пускает. А на хостинге самом можно что сделать? Не делала я бекап сайта.

        • Опять же — сложно что-то сказать, слишком мало информации.
          Что отображается (какие сообщения выдаются) при попытке зайти в админку?
          Что отображается на лицевой части сайта?

          А вообще, такие вопросы лучше задавать на специализированных ресурсах, например на joomlaforum.ru. Там гораздо больше людей увидит ваш вопрос, соответственно и шансов получить полезный ответ будет больше. Только проблему нужно описывать подробно, иначе толку не будет.

          • Вот такую ошибку выдает и при открытии сайта и при входе в админку:
            Fatal error: Call to undefined method JCacheCallback: :makeId() in /home/stroyho/domains/aptechka.in/public_html/plugins/system/easycalccheckplus.php on line 1038
            И больше ничего нигде не отображается.

          • Очень похоже, что вы установили на Joomla 1.5 версию плагина, предназначенног о для Joomla 1.6.

  9. Добрый день.
    При неправильном значении в поле ввода OSOLCaptcha в форме регистрации VirtueMart открывает главную страницу сайта, никаких сообщений не выводится.

    joomla 1.5.26 + VirtueMart 1.1.4

    • Здравствуйте, Игорь.
      Как я уже писал в примечании к статье, я уже не использую OSOLCaptcha. Более того, от Joomla я тоже отхожу в сторону WordPress. Так что не подскажу, к сожалению. В любом случае, я бы посоветовал переводить свои сайты с устаревшей и неподдерживаемой Joomla 1.5 на что-то посвежее (этот совет актуален и для меня самого).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *