регистрация reCAPTCHA

Боты и всяческие Хрумеры являются конечной точкой эволюции человечества, к сожалению, эта точка вызывает радость у единиц, у остальных же регистрирует праведное негодование, икоту и нервные колики. Блог Zegeberg бомбили и боты, и XRumer, с первыми я справился довольно быстро с помощью скрипта, с Хрумером пришлось бороться только с помощью reCAPTCHA V2. Ниже я расскажу, как интегрировать рекапчу на Joomla 3, в том числе, поведаю, как поставить её на JComments.

секретный и публичный ключи

Процедура первая – регистрация и ключ

Для начала надо зарегистрировать сайты на https://www.google.com/recaptcha/intro/android.html, для чего переходим на страницу, ищем справа вверху синее окошко «Получить reCAPTCHA» и зеленеем от ожидания.

Ниже в окне «Регистрация сайтов» выбираем reCAPTCHA V2, указываем домены, на которых хотим её использовать и принимаем пользовательское соглашение.

После регистрации вы получаете два ключа – публичный и секретный.

Интеграция reCAPTCHA на joomla

Ключи на руках – счастье в кармане, переходим в админку Joomla. Для начала идём по пути наименьшего сопротивления:

Система – Общие настройки – Настройки сайта

Ищем пункт «CAPTCHA (по умолчанию)» и ставим

CAPTCHA – reCAPTCHA

С версии Joomla 3.8.6 V1 нет, если движок моложе, то выбираем V2 вручную.

Теперь идём в компоненты – плагины, ищем:

CAPTCHA - reCAPTCHA

И включаем его безо всяких настроек и перестроек, указав только два полученных от google ключа.

замена файла tpl_form.php

Теперь на странице контактов при отправке письма будет появляться гугловская капча…. Дело решено? Отнюдь, так как спам на 99% идёт через компонент JComments, которому чихать на системные настройки joomla.

reCAPTCHA V2 в JComments

По умолчанию в JComments стоит буквенная капча, которая ломается Хрумером, как консервная банка с тушёнкой в руках голодного туриста. В настройках компонента нет возможности переключиться на reCAPTCHA. Что делать, как защитить сайт от спама в комментариях и найти в мире красоту и гармонию?

замены файла jcomments.ajax.php

Тут можно писать много умных слов и приводить примеры с кодом, но я этого делать не буду, жалея и без того слабую нервную систему владельца сайта. Скажу лишь, что надо внести правки в два файла:

components\com_jcomments\tpl\default\tpl_form.php

components\com_jcomments\jcomments.ajax.php

Ниже я предлагаю готовые файлы tpl_form.php и jcomments.ajax.php, просто замените старые на новые и на вашей улице тоже перевернётся грузовик с тульскими пряниками. Код замены универсальный, подходит для всей линейки joomla 3 и не зависит от цифр публичного и секретного ключа. Фома-неверующий может сделать бекап, но файлы взяты с этого блога, они рабочие и не нуждаются в корректировке.

Вот архив rar, в котором две изменённых файла JComments.

Ах, Joomla-Joomla, с версии 3.9.5 интеграция не работает, ищу решение, пока его нет. Как временный вариант предлагаю, вместо reCAPTCHA, использовать обычную капчу и запрет на ссылки в комментариях. Спамеров может остановить, по крайней мере, не будет такого азарта. Как запретить спамить ссылками написал тут.

Комментарии   
0 #14 Андрей 08.05.2019 20:06
еще один косяк, если выбрать "скрыть форму добавления комментария", то после нажатия на "добавить комментарий" форма появляется без reCaptcha. :sad:
Цитировать
0 #13 Андрей 08.05.2019 16:37
Спасибо автору. Помогло. reCaptcha отображается. Вот только как сделать вывод предупреждения, если пользователь не отметил галочкой что он не робот?
Цитировать
+1 #12 Владимир 06.02.2019 12:23
Спасибо автору. Зачётный гайд, всё работает как часы.
Цитировать
+1 #11 Ната 08.12.2018 11:11
Спасибо, Спасибо!
Цитировать
-1 #10 Ivanov Alexey 18.11.2018 05:34
Попробовал не пашет. Хотя только что добавил рекапчу Fox Contact.
Цитировать
+4 #9 Артур 03.09.2018 17:31
Автору дай бог здоровья! Все четко по гайду заработало)
Цитировать
0 #8 OlegK 10.07.2018 16:55
Можно скопировать дефолтный шаблон в свое пространство имен, и не боятся лишний раз обновления.
components\com_jcomments\tpl\my_template/t\tpl_form.php
Спсб за работу - мне тоже помогло.
Цитировать
+2 #7 Олег 10.07.2018 12:11
Шаблон в jcomments можно переопределить, скопировав в туже папку и переименовав.
components\com_jcomments\tpl\t\tpl_form.php
Цитировать
0 #6 Игорь Дорогокупец 09.07.2018 15:22
Цитирую Ольга:
Цитирую Игорь Дорогокупец:
Цитирую Ольга:
Здравствуйте! пытаюсь установить все по вашему алгоритму, но рекапча таки не отобразилась, и родная при этом пропала. Сайт на джумла 2.5. Этот способ только для джумла 3 подходит? или в чем еще может быть проблема?

Не будет на 2,5 работать этот вариант, в более старых версиях Joomla другой код, поэтому и правка другая нужна. По сути, смысл остаётся тот же, но изменения нужны другие…. Я вообще не понимаю проблемы, почему не обновиться нормально на 3,8? С тройки идёт мобильно адаптированная версия, да и других плюшек много, 2,5 уже морально и технически устарела.

Я вот тоже не понмаю, почему до сих пор сайт на 2.5. Но, почитав, как обновить ее до 3х, поняла, что мне проще остаться на 2.5.

Ничего там сложного, это с 1,5 геморрой, а с 2,5 на 3 можно за час переехать.
Цитировать
+1 #5 Ольга 09.07.2018 15:18
Цитирую Игорь Дорогокупец:
Цитирую Ольга:
Здравствуйте! пытаюсь установить все по вашему алгоритму, но рекапча таки не отобразилась, и родная при этом пропала. Сайт на джумла 2.5. Этот способ только для джумла 3 подходит? или в чем еще может быть проблема?

Не будет на 2,5 работать этот вариант, в более старых версиях Joomla другой код, поэтому и правка другая нужна. По сути, смысл остаётся тот же, но изменения нужны другие…. Я вообще не понимаю проблемы, почему не обновиться нормально на 3,8? С тройки идёт мобильно адаптированная версия, да и других плюшек много, 2,5 уже морально и технически устарела.

Я вот тоже не понмаю, почему до сих пор сайт на 2.5. Но, почитав, как обновить ее до 3х, поняла, что мне проще остаться на 2.5.
Цитировать
Добавить комментарий


Защитный код
Обновить