Как заставить IIS7 перестать обслуживать папку? - PullRequest
12 голосов
/ 28 октября 2010

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

Ответы [ 3 ]

25 голосов
/ 28 октября 2010

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

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

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

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

2 голосов
/ 22 марта 2014

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

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

1 голос
/ 28 октября 2010

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

Я думаю, что это в общем случае под "учетной записью гостя в Интернете"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...