Вопрос Как вы боритесь со спамом в комментариях JComments?

Discussion in 'JComments' started by IgorWRD, May 5, 2017.

  1. Offline

    IgorWRD Недавно здесь

    Joined:
    Dec 2, 2014
    Messages:
    10
    Likes Received:
    0
    Gender:
    Male
    Последнее время достали спамеры в комментариях, KCAPTCHA включена но не помогает совсем.
    Это общая проблема или меня просто "полюбили"?

    Может есть другая KCAPTCHA, которая более эффективна?
     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Спамят наверно руками и с разных IP . Я хакнул расширения коментов, и не пропускаю коменты со ссылками .
    /components/jcomments/jcomments.php
    145 str
    Код (PHP):
    1. if (isset($_REQUEST['jtxf'])) {
    2.     $mystring = JRequest::getVar('comment', '', 'post', 'string');
    3.     $findme   = 'http://';
    4.     $pos = strpos($mystring, $findme);
    5. if ($pos === false ) echo 'Ok'; else exit;
    6.     require_once (JCOMMENTS_BASE.'/jcomments.ajax.php');
     
    Last edited: May 5, 2017
  4. SeBun
    Offline

    SeBun Пользователь

    Joined:
    Jul 27, 2008
    Messages:
    54
    Likes Received:
    5
    Gender:
    Male
    А если не руками добавляются, то можно вот такой инструмент прикрутить к сайту.
     
  5. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Так а открыть тему про свой инструмент ?
    Если index.php в корне сайта Джумла,то права 444 и не затрется.
     
  6. SeBun
    Offline

    SeBun Пользователь

    Joined:
    Jul 27, 2008
    Messages:
    54
    Likes Received:
    5
    Gender:
    Male
    Я его не рекламировать сюда пришел а лишь предложил как один из вариантов поставить палки в колеса ботам. Если инструмент интересен, с удовольствием создам тему, тем более есть интерес его довести до ума, т.к. его код используется в другом моем проекте комплексной системы защиты.
     
    Asylum likes this.
  7. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Начали проходит ссылки с https, переделал код. Теперь строки с вхождением протоколов http или https не пропускаются.
    Код (PHP):
    1. if (isset($_REQUEST['jtxf'])) {
    2.     $mystring = JRequest::getVar('comment', '', 'post', 'string');
    3. if (preg_match("/(http|https)/i", $mystring)) {echo "OK"; exit;}
    4.     require_once (JCOMMENTS_BASE.'/jcomments.ajax.php');
     
  8. anna87
    Offline

    anna87 Недавно здесь

    Joined:
    Feb 1, 2018
    Messages:
    1
    Likes Received:
    0
    Gender:
    Female
    (http|https) а в эту вставку любые слова можно дополнить ? напр (http|https|credit )
     
  9. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Да. Применяется синтаксис регулярных выражений .
     
    anna87 likes this.
  10. Offline

    tekvonaft Недавно здесь

    Joined:
    Jul 20, 2020
    Messages:
    3
    Likes Received:
    0
    1. Спасибо автору. Отличная идея. На некоторых сайтах пользуюсь.
    Я туда добавил несколько английских букв, цифры и несколько русских фраз, коммерческой и эро тематики. Спам практически исчез.
    Из минусов - нельзя в комментах написать сайт, почту, телефон. Это мне собственно и не нужно; если англ. буквы будут совпадать с буквами в обозначении смайлов, то коммент не пройдет.
    2. На другом сайте запретил ввод в поле ИМЯ по английски, и написал информацию для людей, что только русские имена. Спам значительно сократился.
    3. Была идея сделать стандартную капчу на русском. Это бы тоже сократило бы спам. Но у меня ничего не вышло.(
     
  11. OlegK
    Offline

    OlegK Russian Joomla! Team Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Не пропускает ссылку если формат
    Код (html):
    1. {URL} ссылка [IMG] картинка [/IMG]/URL}

    В секции // URL (external)
    Код (PHP):
    1. $patterns[] = '/\[url=([a-z]*\:\/\/)([^\s<\"\'\]]*?)\](.*?)\[\/url\]/iu';
    2.      //$replacements[] = '<a href="\\1\\2" rel="external nofollow" target="_blank">\\3</a>';
    3. $replacements[] = '\\3';

    --- добавлено: Jan 29, 2022, первое сообщение размещено: Sep 17, 2021 ---
    У кого древняя Джумла 1.0, применяем родной класс JCommentsInput
    Код (PHP):
    1. $mystring = JCommentsInput::getVar('comment', '', 'post', 'string');
     

    Attached Files:

    Dunkan likes this.
  12. Offline

    art22 Пользователь

    Joined:
    Feb 14, 2017
    Messages:
    52
    Likes Received:
    0
    Gender:
    Male
    отлично все работает спасибо!
    у меня было на 134 и в место JCOMMENTS_SITE нужно было поменять на JCOMMENTS_BASE иначе сайт криво отображался

    Код (PHP):
    1. if (isset($_REQUEST['jtxf'])) {
    2.     require_once(JCOMMENTS_SITE . '/jcomments.ajax.php');


    данный код можно как то можно на имя подключить ? Чтобы были только русские буквы и сам текс только русские а то очень многого спама с англ текстом
     
    Last edited: May 12, 2023
  13. Offline

    art22 Пользователь

    Joined:
    Feb 14, 2017
    Messages:
    52
    Likes Received:
    0
    Gender:
    Male
    А как это сделать? у меня основные спамы идут с англ имен
     
    Last edited: Sep 26, 2023
  14. Offline

    Monolit7 Недавно здесь

    Joined:
    Feb 17, 2025
    Messages:
    1
    Likes Received:
    0
    Gender:
    Male
    Для последней версии jcomments для joomla 4 и 5 такой вариант не проходит. Сейчас в файле jcomments.php:
    if (isset($_REQUEST['jtxf']))
    {
    require_once JPATH_ROOT . '/components/com_jcomments/jcomments.ajax.php';
     

Share This Page

Loading...