Как настроить фильтрацию запросов IIS для точного сопоставления строк denyStrings - PullRequest
0 голосов
/ 11 апреля 2019

Итак, у меня есть этот блок конфигурации, и я особенно стараюсь заблокировать 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?

...