В этой теме я не буду писать много букв, так как завтра 9 мая, надо идти за мясом, а поделиться информацией по поводу запрета на вставку ссылок в комментарии Jcomments можно в пару абзацев. Объясню, что кудой вставить в код плагина, чтобы на сайте Joomla не было спама при работе JC с обычной капчей.
Вообще проблема нарисовалась у меня после обновления движка до 3.9.5, после чего в него не получается интегрировать reCAPTCHA от Google, а без неё сайт есть подарок для спамера. Конечно, решение искать буду, но ограничение на ссылки в комментариях пока помогает, так как спамить без линков глупо.
Итак, нам нужно внести правки в файл:
/components/jcomments/jcomments.php
Там вам надо найти две строки:
if (isset($_REQUEST['jtxf'])) {
require_once(JCOMMENTS_SITE . '/jcomments.ajax.php');
И заменить их на:
if (isset($_REQUEST['jtxf'])) {
$mystring = JRequest::getVar('comment', '', 'post', 'string');
if (preg_match("/(http|https)/i", $mystring)) {echo "OK"; exit;}
require_once (JCOMMENTS_BASE.'/jcomments.ajax.php');
У меня это была строка 136, где-то рядом будет и у вас.
Этот код даёт запрет на публикацию ссылок в комментарии, если в тексте есть линк, то он просто не отправляется на публикацию. На обычные комментарии этот никак не влияет.
Проверено на Joomla 3.9.5-3.9.6, PHP 7.3.1 и Jcomments 3.0.7.
Как только найду вариант рабочей интеграции в плагин комментариев reCAPTCHA 2, то сразу поделюсь результатом.