Предотвращение спам-ботов на сайте? - PullRequest
3 голосов
/ 12 марта 2010

У нас проблема на одном из наших довольно крупных сайтов со спам-ботами. Похоже, что боты создают учетные записи пользователей, а затем публикуют записи журнала, которые ведут к различным ссылкам на спам.

Похоже, они каким-то образом обходят нашу капчу - либо она взломана, либо использует другой метод для создания аккаунтов.

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

Однако я не думаю, что этого будет достаточно, если они используют SQL-эксплойт где-то на сайте и выполняют весь сценарий межсайтового скриптинга. Итак, мой вопрос к вам:

Если они используют какой-то XSS-эксплойт, как я могу его найти? Я защищаю операторы там, где могу, но, опять же, это довольно большой сайт, и мне потребуется некоторое время, чтобы активно очистить операторы SQL для предотвращения XSS. Можете ли вы порекомендовать что-нибудь, чтобы помочь нашей ситуации?

Ответы [ 3 ]

3 голосов
/ 12 марта 2010

1) Как уже упоминалось выше reCAPTCHA - хорошее начало.

2) Askimet - отличный способ пометить спам перед его публикацией. Это то, что Wordpress использует, чтобы остановить спам, и это чрезвычайно эффективно. Затем вы можете отклонить или поставить в очередь запись для модерации на основе результатов. Его API тоже смехотворно прост в использовании. (У меня есть PHP-код, если вам это нужно). Вам может понадобиться коммерческая лицензия, хотя я уверен, что вы можете начать использовать бесплатную версию.

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

2 голосов

Я удивлен, что кто-то может посоветовать Акисмету, и это принято как ответ:

1 голос
/ 12 марта 2010

Если боты где-то использовали дыру в скрипте, это должно быть в журналах.Проверьте наличие прямых POST-запросов к сценариям создания пользователей и сценариям создания записей в журнале без обычной "обычной" активности при просмотре до попадания: боты, возможно, контролировали сайт только один раз и обходят этап сброса форм и делают вид, что заполняютих в. Поиск GET-запросов с очевидными данными типа XSS в строках запроса.

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

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

...