Как избавиться от спама и убрать Captcha

Автор  Вторник, 22 октября 2019
Оцените материал
(0 голосов)

Не так давно на сайт обрушилось огромное количество спама. Видимо попал в какую-то базу спамеров. Собственными средствами K2 победить не удалось, да и особо правил и запретов в нём нет. Никакая из версий Google Captcha не спасала. Спам проходил на ура. При чём это были скриптовые запросы, потому что у меня поля e-mail и адрес сайта скрыты для ввода, а в базу такой спам попадал с введёнными данными.

Идеально для меня было бы сделать спам-лист (стоп-лист) слов. Чтобы если такие слова содержались в тексте комментария, то они бы просто не опубликовывались. Стал искать способ и наткнулся на интересное решение, добавить в php проверку на эти слова. Правда это решение было для JComments. Попробовал расширение, мне оно понравилось, почему бы не использовать?

  1. Устанавливаем плагин JComments.
  2. Настраиваем его и подключаем к K2.
  3. Импортируем комментарии из K2.
  4. Идём в файл /components/jcomments/jcomments.php
  5. Находим строки:
    if (isset($_REQUEST['jtxf'])) {
    $mystring = JRequest::getVar('comment', '', 'post', 'string');
  6. Исправляем весь блок на:
    if (isset($_REQUEST['jtxf'])) {
    $mystring = JRequest::getVar('comment', '', 'post', 'string');
    if (preg_match("/(СТОП СЛОВО 1|СТОП СЛОВО 2)/i", $mystring)) {echo "OK"; exit;}
    require_once (JCOMMENTS_BASE.'/jcomments.ajax.php');
  7. Вместо фраз "СТОП СЛОВО" указываем необходимые вам.
  8. Через "|" вписываем стоп слова или даже фразы.
  9. Проверяем.
  10. Отключаем Google Captcha.
  11. Настраиваем отображение формы под ваш шаблон.

Таким образом при вводе этих слов форма не отправит запрос на сервер и тем самым не добавит комментарий в базу. Можно было бы сделать вывод сообщения о том, что ваше слово попало в стоп-лист и попросить исправить сообщение. Но обычный человек вряд ли попадёт в него, если грамотно составить список, а не блокировать всё подряд.

После этого можно смело отключить каптчу и настроить отображение комментариев под ваш шаблон. Недели две у меня ушло на создание такого списка, но теперь я полностью доволен результатом. Можете для проверки как это работает попробовать ввести такие слова как "cialis", "avodart", "prozac" в поле комментария у меня на сайте.

Для удобства на первое время лучше поставить модерацию сообщений и когда появляется время пройтись по спаму и выбрать из них слова. А после уже и отключить модерацию вовсе.

Прочитано 1219 раз

Комментарии   

0 #2 Vadivan 25.06.2020 16:13
Скриншот чего вы хотите сделать? Обычно это кнопка Printscreen.
Цитировать
0 #1 Richardlierb 18.06.2020 22:22
Как сделать скриншот
Цитировать

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

Использовать прямые ссылки в комментариях запрещено. Если хотите поделиться полезной ссылкой, вводите адрес без http или https.

Это интересно

  • Бесплатных велосипедов много не бывает
    В Петербурге стартовал проект “Freebike”. Сразу в двух районах города появились шесть бесплатных велосипедов, которые каждый желающий может взять, чтобы…
  • Байкеры и таксисты станут тайными помощниками полиции
    За время работы в столице "скрытых" патрулей сотрудниками полиции проверено 7 тыс. автомобилей и зафиксировано около 5 тыс. грубых нарушений…
  • Набор в команду!
    Проект ВелоВек.рф развивается каждый день. Но наших усилий не хватает, поэтому хотелось бы попросить вашей помощи в этом не легком…
  • САЛАТ С МАНГО И КУРИНОЙ ПЕЧЕНЬЮ
    САЛАТ С МАНГО И КУРИНОЙ ПЕЧЕНЬЮ САЛАТ С МАНГО И КУРИНОЙ ПЕЧЕНЬЮ СОСТАВ: Печень куриная – 250 г Манго – 350 г Смесь салатных листьев Масло…
  • Развенчиваем мифы о велосипедах
    Развенчиваем мифы о велосипедах Большинство людей, которые хотят купить велосипед, не особенно разбираются в этом вопросе, испытывают вполне естественное желание проконсультироваться с кем-то перед…
Aliexpress. Лучшие скидки. М-Видео. Лучшие скидки.

Последние комментарии