белый список, чтобы остановить нежелательных ботов, использующих IIS

В основном я хочу сделать это в IIS:

В Apache вы можете заблокировать многих ботов, просто изменив файлы .htaccess на OPT-IN вместо OPT-OUT, в основном белый список вместо черного списка. Вы пускаете Google, Yahoo, MSN и т. д., а также IE, Opera, Firefox, Netscape и ВСЕ остальное по умолчанию. Прелесть здесь в том, что вам больше не нужно искать ботов, так как все, что идентифицирует себя как бот, будет отклонено.

Как мне добиться этого в IIS? Не могли бы вы указать мне пример? Спасибо!

ссылки: http://www.spanishseo.org/how-to-identify-user-agents-and-ip-addresses-for-bot-blocking

http://incredibill.blogspot.com/2011/05/whitelisting-not-blacklisting-to-stop.html


person Barka    schedule 30.08.2011    source источник


Ответы (1)


В IIS нет собственного способа сделать это. Если вы используете asp.net, достаточно легко создать httpmodule для выполнения этой фильтрации, хотя, если мы не говорим о IIS7, фильтроваться будут только запросы .net.

Помимо этого, вы смотрите на фильтр IIS, написанный на чем-то вроде C++ или Delphi, или на чем-то, что может компилировать dll. Их тоже не просто писать.

Я написал нечто подобное, использующее Project Honeypot (http://projecthoneypot.org/) для блокировки IP-адресов спама. Вы можете получить его здесь: http://code.google.com/p/blacklistprotector/.

person Simon Halsey    schedule 31.08.2011
comment
Просто комментарий; не проблема запускать .Net httpmodules для всех запросов в IIS6. Я думаю, что у Гу был пост на эту тему... Во всяком случае, мы делаем это на работе, чтобы пользователи, которые не вошли в систему, не могли получить доступ к изображениям. - person Alxandr; 01.09.2011
comment
Я знаю, что вы можете сделать это с подстановочными знаками. Большинство статей, кажется, оставляют это на ваше усмотрение, использовать его или нет. Одни говорят, что это влияет на производительность, другие говорят, что не влияет. - person Simon Halsey; 01.09.2011
comment
Я не заметил никакого эффекта, так что... xD - person Alxandr; 01.09.2011
comment
Спасибо Саймон, это будет работать на IIS7, поэтому httpmodules будет работать нормально. :) Написанный вами httpmodule является фильтром черного списка. Можно ли написать фильтр белого списка, как я описал выше? - person Barka; 02.09.2011
comment
Я думаю, что комментарий в ссылке, которую вы разместили, хорошо подводит итог. Занести в белый список непросто. Установив это, было бы тривиально создать httpmodule для блокировки пользовательских агентов, не входящих в его утвержденный список. Вам придется забыть о том, что существует множество действительных пользовательских агентов. - person Simon Halsey; 06.09.2011
comment
Белый список также не решает проблему. Умеренно сложные сканеры устанавливают пользовательский агент как пользовательский агент браузера, который вы должны разрешить. - person Barka; 29.09.2011