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

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

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

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

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

  • Бросить курить легче на велосипеде
    Британские ученые из университета Эксетера рассказали о том, что снизить тягу к курению помогают занятия спортом. Об этом сообщает АХН.…
  • КУРЫ «РИМСКИЙ ЛЕГИОН»
    КУРЫ «РИМСКИЙ ЛЕГИОН» КУРЫ «РИМСКИЙ ЛЕГИОН» СОСТАВ: - Куриные ножки - 8 шт. - Соевый соус - 3 ст. л. - Горчица -…
  • Как нас разводят на интересных статьях в интернете
    Как нас разводят на интересных статьях в интернете Дорогие друзья, в очередной раз наткнулся на сообщение от одного известного ресурса, где заголовок призывает выкинуть скидочные карты, так как…
  • Электрический велосипед
    Электрический велосипед Электрический велосипед (Электровелосипед, пауэрбайк, e-bike, pedelec (англ.)) представляет собой велосипед с электрическим приводом, который частично или полностью обеспечивает его движение.…
  • Переделка Windows XP Home на Professional
    Переделка Windows XP Home на Professional Такой способ поможет лишь обмануть программы, которые при установки ведут проверку ОС. Для доступности полноценного функционала версии Professional придёться переустанавливать…
Aliexpress. Лучшие скидки. М-Видео. Лучшие скидки.

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