Как побороть спам на 1С-Битрикс?

Алексей Будагов,

Процесс спама уже настолько эволюционировал, что и e-mail адреса у спамеров реальные и каптча стандартная для них не проблема. Остается только ловить по ключевым словам.

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

AddEventHandler("iblock", "OnBeforeIBlockElementAdd","blockSpam");

// Блокирует добавление элементов со ссылками в описании
function blockSpam(&$arFields) {

    global $USER;

    if (!$USER->IsAuthorized()) {
        if (strpos($arFields["PREVIEW_TEXT"], 'http') !== false) {
            global $APPLICATION;
            $APPLICATION->throwException("К сожалению, Ваш комментарий не может быть опубликован.");
            return false;
        }
    }

    return true;
}

Такое небольшое правило убирает большую часть спама, но не всю. Дальше можно добавить еще несколько правил:

  1. Сообщение должно содержать кириллические символы (можно использовать если ваша аудитория состоит только из русскоговорящих). Таким образом можно избавиться от "зарубежного" спама.
  2. Сообщение не должно содержать определенные ключевые слова. Анализируете спам, смотрите какие "мусорные" слова там повторяются и добавляете фильтр по ним.
  3. Премодерация публикуемых сообщений (муторно, долго, но иногда без этого не обойтись)

Рано или поздно все эти правила обойдут или они будут создавать неудобства для "хороших" посетителей сайта. Если знаете как продуктивнее бороться со спамом, напишите комментарий, буду благодарен.

Опубликовано 6 Августа 2018

Возврат к списку

Комментарии
Владимир
3 Ноя 2018
А нельзя подключить капчу от гугла? Recaptcha, по-моему она отлично справляется?
Также от спама отлично помогает галочка "согласен на обработку персональных данных" - пока галочку не поставишь, сообщение не отправляется, спама нет с таких сайтов вообще.
Алексей Будагов
Алексей Будагов
3 Ноя 2018
Владимир, рекаптча да, хороший вариант, но с ней могут быть проблемы (например из-за блокировок, хотя щас вроде все в порядке). Галочка не всегда помогает.