Вопрос по web-crawler, asp.net – как разрешить известным веб-сканерам и блокировать спамеров и вредоносных роботов при сканировании веб-сайта asp.net

5

Как я могу настроить свой сайт, чтобы разрешить сканирование от известных роботов как Google, Bing, Yahoo, Алекса и т. д. и остановить другие вредные спаммеры, роботы

я должен заблокировать определенный IP? пожалуйста, обсудите все плюсы, минусы Что-нибудь сделать в web.config или IIS?

Могу ли я сделать это на всем сервере, если у меня есть VPS с правами доступа root?

Благодарю.

Вы действительно считаете, что это решенная проблема, и люди просто небрежно не включают «блочный спамер»? вариант на своих сайтах? Damien_The_Unbeliever
@Damien_The_Unbeliever: Как уже упоминалось Лириком, это все о приближении к 100%, что, безусловно, помогает. v s
@Damien_The_Unbeliever Есть несколько простых вещей, которые можно сделать, чтобы заблокировать около 99,9% спамеров, и это требует очень мало усилий. Для остальных 0,09% есть несколько более продвинутых шагов, которые немного более сложны. Вы не можете защитить себя от 100% спамеров, но если вы можете получить 99,99%, то вы должны быть очень хорошими. Kiril

Ваш Ответ

4   ответа
7

Я рекомендую вам посмотреть ответ, который я разместил на похожий вопрос:Как определить веб-сканер?

Robots.txt
Robots.txt полезен для вежливых ботов, но спамеры, как правило, не вежливы, поэтому они склонны игнорировать robots.txt; замечательно, если у вас есть файл robots.txt, поскольку он может помочь вежливым ботам. Тем не менее, будьте осторожны, чтобы не заблокировать неправильный путь, поскольку это может заблокировать хорошие роботы для сканирования контента, который вы действительно хотите, чтобы они сканировали.

User-Agent
Блокировка пользовательским агентом также не является надежной, потому что спаммеры часто выдают себя за браузеры и других популярных пользовательских агентов (таких как боты Google). На самом деле, подделка пользовательского агента является одной из самых простых вещей, которую может сделать спамер.

Bot Traps
Это, вероятно, лучший способ защитить себя от ботов, которые не вежливы и не идентифицируют себя с User-Agent. Существует как минимум два типа ловушек:

  • The robots.txt trap (which only works if the bot reads the robots.txt): dedicate an off-limits directory in the robots.txt and set up your server to block the IP address of any entity which tries to visit that directory.
  • Create "hidden" links in your web pages that also lead to the forbidden directory and any bot that crawls those links AND doesn't abide by your robots.txt will step into the trap and get the IP blocked.

Скрытая ссылка - это та, которая не видна человеку, например якорный тег без текста:<a href="http://www.mysite.com/path/to/bot/trap"></a>, С другой стороны, вы можете иметь текст в теге привязки, но вы можете сделать шрифт очень маленьким и изменить цвет текста в соответствии с цветом фона, чтобы люди не могли видеть ссылку. Ловушка скрытой ссылки может поймать любого нечеловеческого бота, поэтому я рекомендую вам объединить его с ловушкой robots.txt, чтобы ловить только плохих ботов.

Verifying Bots
Вышеуказанные шаги, вероятно, помогут вам избавиться от 99,9% спамеров, но может быть несколько плохих ботов, которые выдают себя за популярных ботов (таких как Googlebot) И следуют вашему robots.txt; Эти боты могут поглотить количество запросов, которые вы выделили для робота Google, и могут заставить вас временно запретить Google сканировать ваш сайт. В этом случае у вас есть еще один вариант, позволяющий проверить личность бота. У большинства основных сканеров (которые вы хотите сканировать) есть способ, с помощью которого вы можете идентифицировать своих ботов, вот рекомендация Google по проверке их ботов:http://googlewebmastercentral.blogspot.com/2006/09/how-to-verify-googlebot.html

Любой бот, который выдает себя за другого крупного бота и не проходит проверку, может быть заблокирован IP. Это, вероятно, поможет вам предотвратить сканирование вашего сайта 99,99% плохих ботов.

0

Самый простой способ сделать это - использовать файл robots.txt в корневом каталоге сайта.

Синтаксис файла robots.txt следующий:

User-agent: *
Disallow: /

который эффективно запрещает всем роботам, которые соблюдают соглашение robots.txt, из определенных страниц.

Однако следует помнить, чтоnot all web-crawlers respect this convention.

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

Для получения дополнительной информации, посмотрите наhttp://www.robotstxt.org/

1

Блокировка по IP может быть полезной, но метод, который я использую, заключается в блокировке агентом пользователя, так что вы можете перехватывать множество разных IP-адресов с помощью приложений, которые вам не нужны, особенно захватчиков сайтов. Я не предоставлю наш список, так как вам нужно сосредоточиться на тех, которые вас касаются. Для нашего использования мы определили более 130 приложений, которые не являются веб-браузерами и не являются поисковыми системами, которым мы не хотим получать доступ к нашей сети. Но вы можете начать с веб-поиска по пользовательским агентам для захвата сайта.

0

Мне нравится использовать файл .htaccess, когда у вас есть список известных ботов, добавьте эти строки в конец вашего файла.

RewriteCond% {HTTP_REFERER} ^ http (s)?: // ([^.] +.)suspectIP.$ [NC, OR]

RewriteCond% {HTTP_REFERER} ^ http (s)?: // ([^.] +.)suspectURL.com.$ [NC]

RewriteRule (. *) - [F]

Похожие вопросы