2014-03-20 4 views
1

Приложение ASP.Net содержит подкаталог foo, к которому не следует обращаться с помощью http. Я думал, что самым простым решением было разместить web.config ниже в подкаталоге foo.Что является самым простым способом полностью предотвратить доступ HTTP к поддиректории приложения?

<configuration> 
    <system.web> 
     <httpRuntime enable="false"/> 
    </system.web> 
</configuration> 

Но это не работает. Например, http://myapp/foo/test.html не отбрасывается сервером.

ответ

1

Вы можете попробовать добавить это в вашем web.config:

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

я проверил это, и это, кажется, работает хорошо, когда я пытаюсь список каталога или получить доступ к файлу непосредственно у меня есть 404,8 HTTP Ошибка (модуль фильтрации запросов настроен на отказ пути в URL-адресе, который содержит секцию hiddenSegment)