Блокировать веб-доступ к одной подпапке с помощью IIS? - PullRequest
0 голосов
/ 27 января 2020

Я хочу заблокировать доступ из Интернета к подпапке logs на веб-сайте. Следующая web.config, кажется, работает ...

<configuration>
   <system.webServer>
       <security>
          <requestFiltering>
               <hiddenSegments>
                   <add segment="logs" />
               </hiddenSegments>
           </requestFiltering>
       </security>
   </system.webServer>
</configuration>

... но она также заблокирует доступ к любой папке logs во всех подпапках (foo/logs, foo/bar/logs и т. Д. 1018 *.).

Как заблокировать только папку logs, которая находится в той же папке, что и файл web.config?

Я знаю, что могу поместить файл web.config непосредственно в logs каталог, но это не вариант здесь, потому что он, скорее всего, будет удален случайно, когда кто-то стирает файлы журнала.

1 Ответ

0 голосов
/ 28 января 2020

Вы можете использовать правило перезаписи URL, чтобы заблокировать запрос для определенной папки.

ниже приведено правило:

  <rule name="RequestBlockingRule16" stopProcessing="true">
                <match url=".*" />
                <conditions>
                    <add input="{URL}" pattern="^/s2/(.*)" />
                </conditions>
                <action type="CustomResponse" statusCode="403" statusReason="Forbidden: Access is denied." statusDescription="You do not have permission to view this directory or page using the credentials that you supplied." />
            </rule>

enter image description here

enter image description here

структура папок:

enter image description here

enter image description here

s1 - папка сайта root.

...