Предотвращаете появление спам-ботов на сайте?
-
19-09-2019 - |
Вопрос
У нас возникла проблема со спам-ботами на одном из наших довольно крупных веб-сайтов.Похоже, что боты создают учетные записи пользователей, а затем публикуют записи в журналах, которые приводят к различным спам-ссылкам.
Похоже, они каким-то образом обходят нашу капчу: либо ее взломали, либо они используют другой метод создания учетных записей.
Мы планируем активировать учетные записи по электронной почте, но до внедрения таких изменений осталось около недели (из-за плотного графика).
Однако я не думаю, что этого будет достаточно, если они используют SQL-эксплойт где-то на сайте и выполняют весь межсайтовый скриптинг.Итак, мой вопрос к вам:
Если они используют какой-то XSS-эксплойт, как мне его найти?Я защищаю операторы там, где могу, но, опять же, это довольно большой сайт, и мне потребуется некоторое время, чтобы активно очистить операторы SQL для предотвращения XSS.Можете ли вы порекомендовать что-нибудь, чтобы помочь в нашей ситуации?
Решение
1) Как уже говорилось выше реКАПЧА это хорошее начало.
2) Аскимет это отличный способ пометить спам перед его публикацией.Это то, что Wordpress использует для борьбы со спамом, и это чрезвычайно эффективно.Затем вы можете отклонить или поставить запись на модерацию на основе результатов.Этот API также до смешного прост в использовании.(У меня есть PHP-код, если он вам нужен).Вам может понадобиться коммерческая лицензия, хотя я уверен, что вы можете начать использовать бесплатную версию.
3) Проверка адресов электронной почты определенно является хорошей идеей, поскольку для этого требуется действующая учетная запись электронной почты, которой нет у многих спамеров.Просто убедитесь, что вы упростили проверку адреса электронной почты, поскольку, если это слишком сложно, это также может отпугнуть законных пользователей.
Другие советы
Если боты где-то воспользовались дырой в скрипте, это должно быть подтверждено в журналах.Проверьте наличие прямых POST для сценариев создания пользователей и сценариев создания записей журнала без обычной «нормальной» активности серфинга перед попаданием:Боты, возможно, троллили сайт только один раз и обходят этап снятия форм и делают вид, что заполняют их.Ищите GET-запросы с очевидными данными типа XSS в строках запроса.
Вы также можете встроить случайный токен в скрытое поле в формах и потребовать, чтобы этот токен присутствовал для активации/публикации.Если боты проанализировали ваши сценарии регистрации только один раз и публикуют прямые сообщения, это остановит их, пока создатели ботов не поймут и не начнут искать токен.Но это даст вам некоторую передышку для внедрения лучшей системы.
Если в ваших таблицах учетных записей пользователей нет какой-либо отметки времени создания, вставьте ее, и пусть сервер создаст временную метку, а не ваши пользовательские сценарии.Таким образом, вы можете сузить периоды времени, чтобы сканировать журналы на предмет активности ботов и видеть, что они делают.И, по крайней мере, вы можете заблокировать IP-адреса, с которых публикуют сообщения боты.
Я удивлен, что кто-то может посоветовать Akismet, и это принимается как ответ:
- Участие Акисмета незаконно в ЕС, поскольку нарушает законы о защите конфиденциальности;
- Любой Система черных списков помогает преступникам, делая Интернет непригодным для законных пользователей.;
- Системы, собирающие спам для его анализа, обречены действовать задним числом, всегда отставая от достижений спамерских технологий и развития ботов;
- Зачем накапливать и анализировать спам, поступающий от ботов, вместо того, чтобы блокировать спам-ботов?