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

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

Не так давно на сайт обрушилось огромное количество спама. Видимо попал в какую-то базу спамеров. Собственными средствами 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" в поле комментария у меня на сайте.

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

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

Комментарии   

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

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

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

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

  • Ragnarok Mobile Online
    Ragnarok Mobile Online Платформа: Мобильное устройство Жанр: РПГ Язык: китайский. Дата выхода других языков пока не известна. Статус: c 19 января преоткрытый бета…
  • BMX - площадки в Москве
    BMX - площадки в Москве Многие BMXеры задаются вопросом "Где кататься?". В Москве не так много оборудованных площадок для этого вида спорта. И куда ехать,…
  • Луковый суп-пюре
    Луковый суп-пюре Состав ·         4-5 крупных луковиц (~1 кг), ·         мука - 2 столовых ложки, ·         плавленый сливочный сыр - 70-100 г…
  • НИЗКОКАЛОРИЙНОЕ КЛУБНИЧНОЕ ЖЕЛЕ С ТВОРОЖНЫМ КРЕМОМ
    НИЗКОКАЛОРИЙНОЕ КЛУБНИЧНОЕ ЖЕЛЕ С ТВОРОЖНЫМ КРЕМОМ НИЗКОКАЛОРИЙНОЕ КЛУБНИЧНОЕ ЖЕЛЕ С ТВОРОЖНЫМ КРЕМОМ(без пошагового фото) СОСТАВ: Обезжиренный творог - 500 г Клубника - 350 г Молоко 1%…
  • По Бульварному кольцу хотят пустить велосипеды
    После майских праздников велоактивисты совместно с Московским центром борьбы с пробками намерены обратиться к столичным властям с просьбой организовать сеть…

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