Пользовательское поле выпадающего списка содержит неотмечаемое значение

На моём форуме https://tzm.one есть это пользовательское поле при регистрации пользователей.

Но, похоже, спам-боты создают учётные записи со значением в этом выпадающем списке, которое невозможно выбрать. Это почти превращает поле в ловушку для спамеров (honeypot), позволяя определить, какая учётная запись создана не человеком. Однако это может также быть проблемой безопасности?

3 лайка

Это происходит потому, что боты не используют форму регистрации на фронтенде, где есть валидаторы. Такие спам-боты отправляют автоматизированные POST-запросы к конечной точке API регистрации. Также, когда поля необязательные, валидация на бэкенде иногда недостаточно строгая, и значение из payload сохраняется в базу данных.

Я не уверен, в чём заключается основное исправление, но вам, вероятно, также понадобятся дополнительные настройки или инструменты для борьбы со спамом. (Я использую AI-спам-бота на своём публичном форуме, и он работает отлично; у меня тоже есть необязательные поля при регистрации.)

Вы можете найти всех пользователей на своём форуме с помощью Data Explorer — думаю, это сработает, хотя я не тестировал (предполагая, что пользовательское поле называется user_field_1):

SELECT user_id, value 
FROM user_custom_fields 
WHERE name = 'user_field_1' 
AND value NOT IN ('Bro', 'Sis', '')

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

2 лайка