Назад | Перейти на главную страницу

Заблокируйте доступ к подкаталогу с помощью Web.config

В моем проекте ASP.NET есть подкаталог, содержащий служебные файлы. Они нужны коду во время выполнения, но я не хочу, чтобы они были видны в Интернете.

Каков синтаксис файла Web.config для блокировки доступа всех пользователей к одному подкаталогу и всему его содержимому?

В IIS 7 появилась новая функция «фильтрации запросов». Вероятно, вы захотите использовать конфигурацию скрытых сегментов:

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

Это вызывает http: // ваш сайт / bin не быть обслуживаемым (но http: // ваш сайт / двоичный до сих пор работает)

Проверять, выписываться: http://learn.iis.net/page.aspx/143/how-to-use-request-filtering

Ваша проблема в том, что если IIS просто возвращает файлы, ASP.Net никогда не сможет вмешаться. Я считаю, что это можно сделать, включив проверку подлинности на основе форм и сильно возня, но я бы просто переместил файлы за пределы папки wwwroot.

JR

Это должно работать:

<configuration>
  <location path="FolderName">
    <system.web>
      <authorization>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>