У кого-то происходит странная атака спам-пользователей? Есть способ заблокировать?

Возможно, спам-атаки настолько распространены, что происходящее с нами — это обычное дело.

Я считаю, что мы используем SSO, но только для нашего сайта. Мы не применяем внешнюю аутентификацию.

Паттерн очень очевиден:

  • они всегда заполняют наше поле «Пол» случайной строкой из заглавных и строчных букв.
  • Имя пользователя почти всегда представляет собой «реальное» звучное имя и фамилию, за которыми следует строка из цифр.
  • Используемый адрес электронной почты всегда принадлежит кастомному домену, обычно очень необычному. Никогда не популярный сервис.

Мы ничего не меняли в наших спам-фильтрах. Мы получаем три или четыре таких случая в день. Возможно, 10 и более в неделю. До сих пор я просто удалял их, не давая им времени на публикацию.

Есть какие-то идеи?

Я делюсь советом от сотрудника о том, как выявлять спам-аккаунты:

«Классический формат адреса электронной почты „FirstLast1234“»

Просто типичные тактики спам-аккаунтов.

Возможно, это запутает ИИ?

Возможно. В любом случае я рад этому. Трудно поверить, что бот на основе ИИ не знает логичного ответа на вопрос о гендере, хотя.

Да, у меня тоже была такая проблема, и она исчезла после того, как я перешёл на ручное одобрение постов для пользователей уровня TL0.

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

Я использовал пользовательский запрос Data Explorer, чтобы вывести всех пользователей с некорректным значением операционной системы, то есть значением, которого нет в предопределённом списке вариантов для этого пользовательского поля.

SELECT 
  u.id, 
  u.username, 
  ucf.value AS user_field_1 
FROM 
  users AS u 
  LEFT JOIN user_custom_fields AS ucf ON u.id = ucf.user_id 
  AND ucf.name = 'user_field_1' 
WHERE 
  ucf.value IS NOT NULL 
  AND ucf.value NOT IN (
    SELECT 
      ufo.value 
    FROM 
      user_field_options AS ufo 
    WHERE 
      ufo.user_field_id = 1
  )

Новые регистрации тоже прекратились? Потому что это моя «проблема». Мы уже вручную одобряем посты от пользователей TL0.

Да, это прекратилось, но, судя по вашему опыту, это могло быть просто совпадением.

Я также заблокировал все электронные адреса и IP-адреса этих аккаунтов.

Да, я тоже блокирую IP-адреса и электронные адреса. Лишь однажды два аккаунта использовали один и тот же IP, но честно говоря, я перестал это отслеживать.

Я немного беспокоюсь, что блокирую слишком много IP-адресов, и это может начать мешать реальным пользователям. Возможно, я не до конца понимаю, сколько всего возможных IP-адресов существует и какова вероятность блокировки легитимного пользователя.

Должен ли я всегда проверять, является ли IP-адрес общим, прежде чем его блокировать?

Да, пользовательское поле при регистрации часто помогает отлавливать такой спам. Этот запрос к dataexplorer — хороший способ попытаться выявить его сейчас… но, думаю, нам стоит внедрить какую-то автоматизацию, чтобы упростить этот процесс.

Мы делаем это на Meta уже несколько лет, и регистрация новых аккаунтов остаётся довольно стабильной.

Я также указываю на своём сайте адрес электронной почты, чтобы пользователи моего приложения могли связаться со мной напрямую. Поэтому, если настоящий пользователь не сможет зарегистрироваться, я, скорее всего, узнаю об этом (хотя пока такого не случалось).

Не уверен, стоит ли это делать, но я так не поступаю :see_no_evil_monkey: