IISでボットをブロックしたいと思います。Apacheを使用すると、ここで説明するように、コマンドを.htaccessファイルに追加できます。IIS 7.5でこれをどのように実現できますか?
更新
以下の回答に加えて、この質問を投稿してから発見したアプローチの合計があります。
- 受け入れられた回答にリストされているURLスキャンオプション。
- 要求フィルタリングルールを定義する(以下の例)
- URL書き換えルールを定義する(以下の例)
要求フィルタールール
<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>
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>
私の最後のプロジェクトでは、セキュリティに焦点を当てており、IIS 7に組み込まれた統合URLスキャンに基づいているため、オプション2を使用しなくなりました。