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.
Sei que essa é uma pergunta antiga, mas no IIS 7.5 você pode negar pelo agente do usuário se usar a Filtragem de solicitações.
No IIS, acesse o site em que deseja aplicar o filtro e, no painel direito, clique no ícone Solicitar filtragem . (pode ser necessário ativar esse recurso através do gerenciador de servidores).
Clique na guia Regras e, na lista à direita, selecione "Adicionar regra de filtragem"
Dê um nome e, em seguida, na seção Scan Headers , coloque "User-Agent".
Você pode adicionar qualquer tipo de arquivo específico para bloquear no Aplica-se a , ou pode deixá-lo em branco para aplicá-lo a todos os tipos de arquivo.
Em Negar Strings , insira todas as strings do agente do usuário que você deseja bloquear. No caso desta pergunta, você colocaria "Yandex" aqui.
Confirmei essas alterações no chrome usando a extensão User Agent Switcher .
fonte
Para rastreadores que não respeitam o Robots.txt, você pode usar a reconfiguração de URL no servidor para bloquear com base no agente do usuário, consulte: http://chrisfulstow.com/using-the-iis-7url-rewrite-module-to- rastreadores de bloco /
Para mais informações: http://www.iis.net/download/URLRewrite
fonte