Как заставить IIS7 перестать обслуживать папку?

Я знаю, что по defualt IIS не будет публиковать содержимое App_Data или содержимого папок для библиотек.
Как установить еще одну папку, чтобы не публиковать сервер?

Ответ 1

Правильный способ сделать это:

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

Это позволяет вам по-прежнему обращаться к файлам, находящимся там, из учетной записи IUSR, но не позволяет фактическим запросам напрямую загружать файлы.

Обратите внимание, что это заблокирует файлы в этом каталоге и любые подкаталоги, независимо от того, где находится этот каталог, даже если он сам является подкаталогом чего-то еще.

Ответ 2

Как указывает ответ только для ссылок, hiddenSegments является правильным инструментом для задания. Перейдите к IIS, затем site и в Features найдите Request Filtering (должен быть установлен в Server Manager), теперь добавьте имя каталога, которое вы хотите предотвратить, или любой сегмент URL-адреса. Этот подход требует, чтобы на сайте использовался уникальный URL-адрес или имя каталога, иначе любое другое событие сегмента на любом уровне URL-адреса приведет к блокировке этого запроса:

http://www.iis.net/configreference/system.webserver/security/requestfiltering/hiddensegments

Ответ 3

Удалите разрешения IIS_IUSR из этой папки.

Я думаю, что он в целом под "учетной записью интернет-гостей"