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