Jcomments спам

Борьба со спамом в JComments

JComments – это один из самых лучших и наиболее популярных на сегодняшний день компонентов комментариев для CMS Joomla! Он достаточно прост в использовании и имеет много полезных настроек. Единственным минусом компонента JComments можно считать его подверженность спам-атакам.

Сегодня я расскажу основные способы борьбы со спамом в JComments, которые помогут вам ограничить свой сайт от нежелательных комментариев.

Настройка CAPTCHA - reCAPTCHA в JComments

В JComments есть встроенная капча, но многие специалисты предпочитают вместо неё использовать более надёжную защиту веб-сайтов от ботов, которую предоставляет Google.

О том как включить и настроить CAPTCHA в Joomla, я уже рассказывал в статье «Настройка CAPTCHA в Joomla». Поэтому повторяться нет никакого смысла. Перейдите по вышеуказанной ссылке и сделайте всё как я описал в том уроке.

Далее, чтобы включить CAPTCHA в JComments, вам нужно перейти в настройки этого компонента (Компоненты → JComments → Настройки). В настройках открыть вкладку «Вид» и убедится в том, что в поле CAPTCHA у вас активировано «CAPTCHA - reCAPTCHA (Joomla)». Если нет, то выберите этот пункт из списка и сохраните настройки.

CAPTCHA JComments

Далее необходимо перейти на вкладку «Права» и отметить галочкой пункт «Защита от спамботов (CAPTCHA)» для нужных групп пользователей: Public, Guest, Manager, Administrator, Registered, Author, Editor, Publisher, Super Users. Не забудьте нажать на кнопку «Сохранить», чтобы изменения вступили в силу.

Jcomments борьба со спамом

Если вы всё сделали правильно, то на сайте, под формой комментариев появится форма капчи, которая будет препятствовать ботам оставлять комментарии на вашем сайте.

reCAPTCHA JComments

Запрет ссылок в комментариях

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

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

Правки вносятся в файл:

/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');

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

Main Menu