Я хотел бы заблокировать бот с IIS. С помощью Apache вы можете добавить команду в свой файл .htaccess, как описано здесь . Как бы это сделать с IIS 7.5?
Обновить
В дополнение к ответу ниже, есть всего несколько подходов, которые я обнаружил после публикации этого вопроса:
- Опция сканирования URL указана в принятом ответе.
- Определите правило фильтрации запросов (пример ниже)
- Определите правило перезаписи URL (пример ниже)
Правило фильтра запросов
<system.webServer>
<security>
<requestFiltering>
<filteringRules>
<filteringRule name="BlockSearchEngines" scanUrl="false" scanQueryString="false">
<scanHeaders>
<clear />
<add requestHeader="User-Agent" />
</scanHeaders>
<appliesTo>
<clear />
</appliesTo>
<denyStrings>
<clear />
<add string="YandexBot" />
</denyStrings>
</filteringRule>
</filteringRules>
</requestFiltering>
</security>
[...]
</system.webServer>
Правило перезаписи URL
<rule name="RequestBlockingRule1" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="YandexBot" />
</conditions>
<action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="Get Lost." />
</rule>
Для моего последнего проекта я остановился на варианте 2, так как он ориентирован на безопасность и основан на интегрированном сканировании URL, встроенном в IIS 7.
Я знаю, что это старый вопрос, но в IIS 7.5 вы можете отказать пользовательскому агенту, если вы используете фильтрацию запросов.
В IIS перейдите на веб-сайт, к которому вы хотите применить фильтр, а затем на правой панели щелкните значок « Фильтрация запросов» . (возможно, вам придется включить эту функцию через диспетчер серверов).
Перейдите на вкладку « Правила », а затем в дальнем правом списке выберите «Добавить правило фильтрации».
Дайте ему имя, а затем в разделе « Заголовки сканирования» введите «User-Agent».
Вы можете добавить любой конкретный тип (типы) файлов для блокировки в разделе «Применяется к» или оставить его пустым, чтобы он применялся ко всем типам файлов.
В поле « Запретить строки» введите все строки пользовательских агентов, которые вы хотите заблокировать. В случае этого вопроса, вы бы поставили «Яндекс» здесь.
Я подтвердил эти изменения в Chrome, используя расширение User Agent Switcher .
источник
Для сканеров, которые не уважают Robots.txt, вы можете использовать URL Rewrite на сервере для блокировки на основе их пользовательского агента, см. Http://chrisfulstow.com/using-the-iis-7url-rewrite-module-to- блок-сканеры /
Для получения дополнительной информации: http://www.iis.net/download/URLRewrite
источник