Me gustaría bloquear un bot con IIS. Con Apache puede agregar un comando a su archivo .htaccess, como se describe aquí . ¿Cómo lograría esto con IIS 7.5?
Actualizar
Además de responder a continuación, descubrí un total de enfoques desde que publiqué esta pregunta:
- Opción de análisis de URL que figura en la respuesta aceptada.
- Definir una regla de filtrado de solicitudes (ejemplo a continuación)
- Definir una regla de reescritura de URL (ejemplo a continuación)
Regla de filtro de solicitud
<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>
Regla de reescritura 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>
Para mi último proyecto, terminé con la opción 2, ya que se centra en la seguridad y se basa en la exploración de URL integrada integrada en IIS 7.