Как избавиться от спама и убрать 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" в поле комментария у меня на сайте.

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

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

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

  • Обмен валюты
    Обмен валюты Валюта в Шри-Ланке - это шриланкийская рупия (LKR). Обмен валюты. Обмен валюты производится только в отделениях банка. Обычно рабочий день…
  • ЗАКУСОЧНЫЕ РУЛЕТИКИ С ДИКИМ РИСОМ
    ЗАКУСОЧНЫЕ РУЛЕТИКИ С ДИКИМ РИСОМ ЗАКУСОЧНЫЕ РУЛЕТИКИ С ДИКИМ РИСОМ СОСТАВ: Кета слабосолёная - 250 гр. Рис дикий - 1/2 ст. Сыр творожный - 150…
  • Немцы изобрели велосипед. Без седла и педалей
    Авторы оригинальной машины, названной FLIZ, Том Хамброк и Юрий Спеттер (Tom Hambrock and Juri Spetter). В основу названия легло немецкое…
  • ПИРОГ ФРУКТОВЫЙ
    ПИРОГ ФРУКТОВЫЙ ПИРОГ ФРУКТОВЫЙ(без пошагового фото) СОСТАВ: -    Яйцо - 2 шт. -    сахар - 250 мл. -    сода - 1 ч. Л. -    растительное масло…
  • ПАШТЕТ ИЗ ЧЕЧЕВИЦЫ И ТУНЦА
    ПАШТЕТ ИЗ ЧЕЧЕВИЦЫ И ТУНЦА ПАШТЕТ ИЗ ЧЕЧЕВИЦЫ И ТУНЦА СОСТАВ: Оранжевая чечевица - 1 стакан Тунец в собственном соку - 1 б (160 гр)…

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