Я б хотів заблокувати бота з 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>
Для мого останнього проекту я закінчив роботу з варіантом 2, оскільки він орієнтований на безпеку та заснований на інтегрованому скануванні URL-адрес, вбудованому в IIS 7.