Eu gostaria de bloquear um bot com o IIS. Com o Apache, você pode adicionar um comando ao seu arquivo .htaccess, conforme descrito aqui . Como eu faria isso com o IIS 7.5?
Atualizar
Além da resposta abaixo, há um total de abordagens descobertas desde a publicação desta pergunta:
- Opção de verificação de URL listada na resposta aceita.
- Definir uma regra de Filtragem de Solicitações (exemplo abaixo)
- Defina uma regra de reconfiguração de URL (exemplo abaixo)
Regra de filtro de solicitação
<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>
Regra de reconfiguração de 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>
No meu último projeto, finalizei a opção 2, pois ela é focada na segurança e baseada na verificação de URL integrada incorporada no IIS 7.