1 1 1 1 1 1 1 1 1 1 Рейтинг 3.72 (18 Голоса[ов])

Если не хочешь читать лирическое отступление и желаешь сразу приступить к делу, жми сюда.

После того как я  запретил ссылки в комментраиях Jcomments, и написал об этом пост, спамных комментов стало значительно меньше. Но они были. Далее я запретил английские буквы, но все равно спам продолжался. Кроме того, как было верно замечено в одном комменте - не проставлялись смайлики, т.к. у некоторых из них обозначение из цифр и букв английского алфавита. Потом, что бы отсечь спам я стал вносить в спам-лист части слов, в основном коммерческой и эро тематики:

(http|https|дедик|красот|трах|лесби
|купи|скач|проститу|казин|мойк|юрист
|ремонт|комерч|прикол|порно|видео
|ролик|анал|секс|хими|цена|кардинг
|маркет|заказ|закаж|курсы|букмек|услуг)

Но этот список стоп-слов мог разрастить до огромных размеров.

Спямят не ручками, а с помощью специальных программ. В этом не трудно убедиться сделав поля для ввода Имени, Е-Мейла и Сайта - невидимыми для людей.

Боты заполняют все возможные поля и проставляют все галочки. Определяют где что ставить, ориентируясь на атрибут name в формах. Ники у ботов, все на английском языке, так они рекламируют бренд какой ни будь фирмы или продукта.

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

Как это сделать в Джумле я незнаю ХЗ.

Поэтому я решил использовать поле Е-Мейл в которое нужно поставить русские буквы, и больше ничего. Только при этом условии, комментарий будет записан Джумлой и отправлен на модерацию.

Итак приступим:

Используем поле «Е-Мейл» вместо поля «Имя»,
Запрещаем любые символы и буквы, кроме русских

1.Включите поле Е-Мейл и сделайте, его для гостей обязательным. Все другие поля, что бы пока не мешались отключите.

2.Найдите эти строки в файле jcomments.php

который находиться в

/components/com_jcomments

// regular expression for links
  DEFINE('_JC_REGEXP_LINK', '#(^|\s|\>|\()((http://|https://|news://|ftp://|www.)\w+[^\s\<\>\"\'\)]+)#iu');
  DEFINE('_JC_REGEXP_EMAIL', '#([\w\.\-]+)@(\w+[\w\.\-]*\.\w{2,4})#iu');
  DEFINE('_JC_REGEXP_EMAIL2', '#^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$#iu');

3.Аккуратно заменить регулярное выражение в строке _JC_REGEXP_EMAIL2 на
([А-Яа-яЁё]+) - Это русские буквы, большие и маленькие. Только они будут разрешены в этом поле. Никаких точек, собак и пробелов. Потом можете поиграться с другими регулярками, добавить цифры, пробелы итд. Что такое плюсик - ХЗ, но без него не работает))
(Рекомендую: Предварительно, закомментировать строчку которую будете править, что бы была возможность откатить, если что то пойдет не так.)

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

Собственно все. Идея понятна.
Теперь нужно переименовать все Надписи и Предупреждения.

Я не стал заморачиваться с перенаправлениями и пр., и тупо в файле прописал

5.Закомментируйте код php и напишите что нужно в файле tpl_form.php, который лежит по адресу:

/components/com_jcomments/tpl/default

    <span>
        <input id="comments-form-email" type="text"  name="email"  value="" size="22" tabindex="3" />
       <label for="comments-form-email">Ваше имя<?php// echo $text; ?></label>
    </span>

6.Замените надпись в предупреждении - «Пожалуйста, введите корректный e-mail!» на «Пожалуйста, введите Ваше имя на русском!»
У меня это 153 строка
ERROR_INCORRECT_EMAIL="Пожалуйста, введите корректный e-mail!"
 Редактируйте в языковом файле: ru-RU.com_jcomments.ini. Который находиться здесь:

/language/ru-RU

P.S Если вам обязательно нужно что бы пользователь оставлял свой е-мейл, то пусть пишет его в поле Имя, там прокатывают большинство символов. И таким же макаром преименуйте надписи к нему. 

А для зарегистрированных пользователей ничего не меняется.

Добавить комментарий

Иностранные буквы запрещены, так что ссылками облом. :-) Все комменты размещаю после просмотра. Так что не тратьте свое время.
Оставить коммент со ссылкой бесплатно можно здесь


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

Жми!
Подпишись на обновление
 
Поиск по сайту
Обсуждаемое
  • Классный плагин, давно им пользуюсь. Реально облегчает жизнь сеошника. ;-)

    Подробнее...

     
  • Исправлено 8)

    Подробнее...

     
  • Некоторые английские буквы и даже цифры используются в смайлах. Например, если добавить восьмерку для ...

    Подробнее...

     
  • Да вся эта микроразметка - Чушь. Гиморой один, постоянно меняется, и на ранжировании сайта особо ...

    Подробнее...

     
  • Что мешает использовать ротатор банеров на ява? Ведь тизеры, это всего лишь квадратные баннеры в ...

    Подробнее...