Я знаю, что по defualt IIS не будет публиковать содержимое App_Data или содержимого папок для библиотек.
Как установить еще одну папку, чтобы не публиковать сервер?
Как заставить IIS7 перестать обслуживать папку?
Ответ 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 из этой папки.
Я думаю, что он в целом под "учетной записью интернет-гостей"