тихое обнаружение ботов и фильтрация в ASP.NET MVC - PullRequest
6 голосов
/ 12 июля 2009

Я настраиваю форму электронной почты, и мне нужно иметь возможность проверять ботов и тихо их фильтровать. На сайте работает ASP.NET MVC. Я хотел бы избежать CAPTCHA. Есть идеи?

Ответы [ 3 ]

11 голосов
/ 12 июля 2009

Добавьте новое поле ввода, пометьте его «Пожалуйста, оставьте пустым», скройте его с помощью CSS и игнорируйте сообщение, если это поле заполнено. Примерно так:

<style type='text/css'>
#other_email_label, #other_email {
    display: none;
}
</style>
...
<form action='mail'>
<label id='other_email_label' for='other_email'>Please leave blank:</label>
<input type='text' name='other_email' id='other_email'>
...
</form>

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

(Скопировано из моего ответа на этот связанный вопрос: «Что такое хорошая невидимая капча?» )

2 голосов
/ 12 июля 2009

IIRF может сделать занесение в черный список на основе агента пользователя или IP-адреса (или других вещей) Работает с ASP.NET, PHP, что угодно. Работает на IIS5, 6, 7. Быстро, легко, бесплатно.

Вы можете просмотреть документ здесь .

1 голос
/ 12 июля 2009

Я нашел решение этой проблемы с помощью форм, посылка использовала JavaScript для подсчета нажатий клавиш и определения времени расстояния от page_load до отправки формы. Затем он угадал , если это был бот, основанный на том времени и типичной границе ожидания нажатия клавиш / секунду, поскольку боты (использующие браузер) имеют тенденцию выводить текст очень быстро без ударов (просто Ctrl-V) .

Боты, просто отправляющие данные POST или GET без загрузки страницы, тоже фильтруются.

Я не знаю деталей реализации, но может быть идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...