Bloquer des robots avec IIS 7.5 et 8.0

J’aimerais bloquer un robot avec IIS. Avec Apache, vous pouvez ajouter une commande dans votre fichier .htaccess, comme décrit ici. Comment puis-je accomplir cela avec IIS 7.5 ?

Mise à jour

En plus de la réponse ci-dessous, il y a un total d’approches que j’ai découvertes depuis la publication de cette question :

  • L’option URL Scan listée dans la réponse acceptée.

  • Définir une règle de filtrage des requêtes (exemple ci-dessous)

  • Définir une règle de réécriture d’URL (exemple ci-dessous)

Règle de filtrage des requêtes

 <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>

Règle de réécriture d’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>

Pour mon dernier projet, j’ai opté pour l’option 2 car elle est orientée sécurité et basée sur le URL Scan intégré à IIS 7.

Je sais que c’est une ancienne question, mais dans IIS 7.5 vous pouvez refuser par agent utilisateur si vous utilisez le filtrage des requêtes.

Dans IIS, allez sur le site web auquel vous souhaitez appliquer le filtre puis dans le volet droit, cliquez sur l’icône Filtrage des requêtes. (vous devrez peut-être activer cette fonctionnalité via le gestionnaire de serveur).

Cliquez sur l’onglet Règles, puis dans la liste tout à droite, sélectionnez « Ajouter une règle de filtrage »

Donnez-lui un nom, puis dans la section En-têtes à analyser, mettez « User-Agent ».

Vous pouvez ajouter des types de fichiers spécifiques à bloquer dans S’applique à, ou vous pouvez le laisser vide pour que cela s’applique à tous les types de fichiers.

Dans Chaînes de refus, entrez toutes les chaînes d’agent utilisateur que vous souhaitez bloquer. Dans le cas de cette question, vous mettriez « Yandex » ici.

J’ai confirmé ces modifications dans Chrome en utilisant l’extension User Agent Switcher.