В стандартной поставке Joomla 1.5 наблюдается одно досадное недоразумение — форма контактов и форма регистрации никак не защищены от спам-ботов. Результат (в котором я убедился на собственном опыте) — куча левых регистраций новых пользователей и ежедневные свежие порции спама, отправляемые через форму обратной связи. Ну что же, раз стандартных средств защиты нет, будем устанавливать сторонние.
Какой самый простой способ защиты от спам-ботов? Правильно — CAPTCHA.
Поиск по любимому форуму однозначного решения не принес, и я отправился за ним в соответствующий раздел на extensions.joomla.org. Иногда бывает трудно сделать выбор, но в данном случае я не долго сомневался. После отсечения платных и слишком тяжеловесных решений выбор очень сильно сузился, а после тестирования на локалке я сделал для себя однозначный выбор — OSOLCaptcha.
OSOLCaptcha — это очень простой и легковесный плагин, который при всей своей простоте обладает всем, что необходимо для решения поставленной задачи. Настроек довольно мало:
Как видно из скриншота, в настройках можно задать цвет фона и текста, указать вид текста (простой или искаженный), и выбрать, какие стандартные формы сайта необходимо защитить капчей.
Файлы локализации предусмотрены только для фронт-энда, но думаю что разобраться с админской частью не составит труда даже тем, кто практически вообще не знает английского. Кстати говоря, языковой файл для фронт-энда я перевел и могу поделиться им со всеми желающими. После установки плагина его нужно закинуть в папочку «language/ru-RU».
Приятно порадовал тот факт, что формат капчи абсолютно такой же, как у JComments, даже размер картинки тот же. Можно настроить цвета аналогично тем, которые заданы в JComments, и тогда капча в комментариях и на других формах будет выглядеть идентично.
При желании можно очень просто (добавлением одной строки кода) навесить капчу на любую другую (нестандартную) форму.
В общем, я остался доволен, чего и вам желаю 🙂
После определенного периода использования плагин «OSOLCaptcha» обнаружил свою дырявость — в обход его через форму регистрации продолжали регистрироваться тонны ботов. Правда, в новой версии «OSOLCaptcha» добавлена дополнительная защита, только вот после ее включения плагин у меня вообще перестает корректно работать (правильно введенная капча не принимается).
В итоге я после некоторых дополнительных поисков и проб перешел на простую математическую капчу «EasyCalcCheck PLUS», которая (во всяком случае пока) отлично работает и имеет полезные настройки (а в качестве бонуса имеет в своем официальном составе русскоязычные языковые файлы).
Этот сайт теперь работает на WordPress, так что не пытайтесь найти здесь примеры использования капчи для Joomla 🙂
А не подскажете, как сделать, чтоб редирект при неправильно введенной капче был на ту же страницу, где был до этого? Ато вываливается на главную страницу сайта.
Samius, не подскажу, нужно в коде копаться
День добрый.
Сделал форму с помощью FRONTPAGE, поместил ее на страничку с материалом, добавил в код строчку кода.
В результате капчи на экране нет, только фрагмент кода:
triggerEvent('onShowOSOLCaptcha', array(false));
Что не так сделал и как довести плагин до ума? Ну очень нужно…
У меня плагин заработал, но русификация нет. Буду копать.
sam, выложенная мной русификация предназначена для фронтэнда, админку я не переводил.
Русификации фронтэнда так же не заметил, хотя все сделал вроде правильно. Создал файл
ru-RU.plg_system_osolcaptcha.ini
Положил в папку
language/ru-RU
. Что не так?Вроде по структуре папок все должно быть понятно.
Если все же непонятно — заглянули бы в xml-файл, там достаточно ясно прописан путь для языковых файлов:
plugins/system/lang
Файл русификации нужно положить в
administrator/language/ru-RU
.Спасибо, как то странно даже, что не догадался туда кинуть. Сбило с толку, что перевод сделан для юзерской части.
А каким образом это можно сделать, например, для формы ck form?
Смотрите справку в настройках плагина — там описан общий принцип.
Хм, интересную вещь я заметила, вот если поставить шаблон beez, то все работает! И каптча, и все остальные поля формы проверяются. А если поставить один из других шаблонов, то не работает. Люди добрые, подскажите — что такое есть в beez, чего нет в другом шаблоне? Уж больно шаблон мне нравится, не хочу его менять.
Странно, не замечал таких проблем. У меня капча отрабатывает нормально.
Вот решение (недостаток команды в шаблоне, плагин здесь ни при чем).
Подскажите, пожалуйста, как вставить эту каптчу на вход в админку?
Посмотрите на описание плагина на соответствующей странице админки — там описано, как навесить плагин на любую форму.
Вот описание:
К сожалению, мне это ничего не дает 🙂
Может подскажете, что конкретно нужно сделать?
Такое ощущение, что captcha взломали. Поставил на регистрацию, проверил… Вроде работает, однако спам-бот регистрируется регулярно.
Да, у меня тоже спам проскакивает гораздо чаще, чем должел был быть при защите капчей.
Может быть обошли защиту.
А какая у вас версия OSOLCaptcha стоит?
Последняя на JED — версия 1.0.6, и похоже там были какие-то значимые изменения в сторону улучшения защиты от автоматических регистраций.
В новой версии OSOLCaptcha (1.0.6) появилась еще одна опция — «Enable second level security for Core forms». Вот только работает она не всегда.
У меня заработала эта опция нормально только на одном из нескольких тестируемых сайтов. Но зато на том сайте, где заработала, поток спама моментально прекратился. Нужно бы покопаться с ней, заставить работать везде…
Вот ещё прикольная капча:
https://www.keycaptcha.com/
Боты точно не прорвутся!)
Ну, это перебор 🙂
С такой капчей половина пользователей вообще не залогинится.
Вооо, а зачастую половина как раз неадекваты)
Так что капча будет не только ботов обламывать, но и "гениев")
Решил поставить эту каптчу, включил её и сразу выкинуло из админки на основной сайт. Хочу попасть в админ панель, но постоянно выкидывает на главную страницу сайта, копец какой-то! Да, ещё шаблон исказило не хило.
Попробуйте избавиться от капчи, например, удалив ее через панель хостинга. Но может дело не в капче? У меня уже полгода установлена — никаких проблем не было.
Избавился, удалив через FTP и почистив базу данных. Но повторные эксперименты что-то уже не хочется проводить 😐
У меня до этого стояла каптча от Гугла, она ещё с патчем идёт JC45_Inst_JCapt ha451.zip, я её просто отключил, может её надо удалить и патч подчистить, может тогда встанет нормально, но повторюсь что боюсь теперь экспериментировать.
Данная каптча работает или нет с включенным кешом Joomla???
Всё, разобрался, почему выкинуло из админ панели и перекинуло на основной сайт. Просто не надо было заполнять последний параметр "Administrator Pass Phrase", а так всё заработало и всё супер. И с включенным кешом Joomla тоже работает хорошо. Один недостаток — это то, что каптчи нет в при входе в Админ панель.
При включенном параметре "Auto add in Login form(component page)?" невозможно авторизоваться на сайте, выручает только это — перед вводом символов надо обновить каптчу и только после вводить её.
lexich, рад, что сами разобрались и спасибо, что отписались сюда о решении.
OSOLCaptcha действительно не лишена недостатков и не всегда работает гладко. Но других достойных решений я не находил.
P.S.: Изумляют дата и время ваших последних комментариев 🙂
Новогодняя ночь прошла в работе?
А у вас контрольный вопрос в примере
Не совсем понял о чем вы, уточните пожалуйста 🙂
"Увидеть плагин в работе можно, например, у меня на форме регистрации."
Ах, да, спасибо, что напомнили о необходимости внесения правки в статью.
Правку внес, смотрите «Update» в конце статьи.
К сожалению, мне пришлось отказаться от использования «OSOLCaptcha».
Понятно, а у меня капча где-то чуть больше полугода установлена и пока все нормально. А не подскажите, как можно внедрить капчу в virtuemart (в форму регистрации интернет магазина и другие его формы)?
Все, нашла — Компонент JoomlaXI Captcha, как будет работать не знаю, по крайней мере интернет магазин капчу высвечивает.
Если у вас установлена «OSOLCaptcha» и она вас устраивает, можете посмотреть информацию о внедрении плагина в сторонние формы на странице настроек плагина. Более детальную информацию дать не могу.
Да уж, поставил OSOLCaptcha и уже через час зарегилось пару ботов)
Попозже посмотрю предложенную капчу «EasyCalcCheck PLUS». У меня на сайте просто фантастическая посещаемость ботами, как раз проверять такие вещи самое то там))
ОК, буду очень благодарен, если отпишетесь сюда после проверки.
У меня на нескольких сайтах тоже была фантастическая посещаемость ботами. Каждый день приходило множество писем о новых регистрациях, которые при ближайшем рассмотрении оказывались ботами. После установки на всех сайтах «EasyCalcCheck PLUS» вот уже несколько дней никакой подозрительной активности не наблюдается. Надеюсь, боты так и не пробьются 🙂
Что-то он у меня работает только после очистки кеша, но стоит обновить страницу — пропадает и больше не появляется.
Это был плагин кеширования страниц виноват — пришлось отключить.
Ну да, на данный момент EasyCalcCheck PLUS сдерживает ботов полностью. Кстати там есть и настройки по работе с virtuemart и даже с шаблонами RT — удобно для тех кто не читает инструкции и абсолютно не ориентируется в коде.
Спасибо, что отписались.
Я пока тоже вполне доволен работой этого плагина.
Что и требовалось доказать 🙂
Здравствуйте. Установила плагин этот на сайт и включила. Сайт перестал работать. Что делать?
Во-первых, непонятно, о каком именно плагине вы говорите. В статье описаны два плагина — «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.
Добрый день.
При неправильном значении в поле ввода OSOLCaptcha в форме регистрации VirtueMart открывает главную страницу сайта, никаких сообщений не выводится.
joomla 1.5.26 + VirtueMart 1.1.4
Здравствуйте, Игорь.
Как я уже писал в примечании к статье, я уже не использую OSOLCaptcha. Более того, от Joomla я тоже отхожу в сторону WordPress. Так что не подскажу, к сожалению. В любом случае, я бы посоветовал переводить свои сайты с устаревшей и неподдерживаемой Joomla 1.5 на что-то посвежее (этот совет актуален и для меня самого).