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.
Sé que esta es una pregunta antigua, pero en IIS 7.5 puede negarla el agente de usuario si usa el filtro de solicitud.
En IIS, vaya al sitio web donde desea aplicar el filtro y luego, en el panel derecho, haga clic en el icono Solicitar filtrado . (es posible que deba habilitar esta función a través del administrador del servidor).
Haga clic en la pestaña Reglas y luego, en la lista de la extrema derecha, seleccione "Agregar regla de filtrado"
Déle un nombre y luego, en la sección Escanear encabezados , escriba "User-Agent".
Puede agregar cualquier tipo de archivo específico para bloquear en Se aplica a , o puede dejarlo en blanco para que se aplique a todos los tipos de archivo.
En Denegar cadenas , ingrese todas las cadenas de agente de usuario que desea bloquear. En el caso de esta pregunta, pondrías "Yandex" aquí.
Confirmé estos cambios en Chrome usando la extensión User Agent Switcher .
fuente
Para rastreadores que no respetan Robots.txt, puede usar URL Rewrite en el servidor para bloquear en función de su Agente de usuario, consulte: http://chrisfulstow.com/using-the-iis-7url-rewrite-module-to- rastreadores de bloques /
Para más información: http://www.iis.net/download/URLRewrite
fuente