Итак, у меня есть этот блок конфигурации, и я особенно стараюсь заблокировать URL.
<security>
<requestFiltering allowDoubleEscaping="true">
<filteringRules>
<filteringRule name="testrule" scanUrl="false" scanQueryString="false">
<scanHeaders>
<clear />
<add requestHeader="User-agent" />
</scanHeaders>
<denyStrings>
<clear />
<!-- MY QUESTION IS ABOUT THIS BLOCK -->
</denyStrings>
<appliesTo>
<clear />
</appliesTo>
</filteringRule>
</filteringRules>
</requestFiltering>
</security>
Когда я добавляю эту строку в раздел <denyStrings>
, где я экранирую символ .
:
<add string="yacy\.net" />
User-Agent: yacy.net
все еще работает.
С этой строкой:
<add string="yacy.net" />
Пользователь-агент: yacy.net
заблокирован, но так же yacy.net1
и 2yacy.net1
.
Мой вопрос: Какя могу заблокировать только строки с точным соответствием?Вместо частичных совпадений, как сейчас.Я не могу найти ничего по этому поводу в документах Microsoft и, видимо, Я не единственный .
Связанный с этим: При просмотре блокировки через файл .htaccess
я обычнодолжны ли экранировать пробелы, .
и подчеркивания, но, по-видимому, экранирование не требуется в IIS?