Получил интересную маленькую проблему. В частности, на одном из наших серверов IIS 7.5 не скрывает папку App_Data; он обслуживает его напрямую. Другие серверы не имеют этой проблемы, даже если они настроены относительно аналогично.
Очевидно, эту папку нужно спрятать. На самом деле, это должно быть довольно сложно показать, если не вообще запрещено.
Я выполнил поиск App_Data
в Notepad ++, чтобы узнать, упоминается ли он в каком-либо файле web.config или чем-то еще (хотя это никогда не должно быть так), и, конечно же, нигде в общем каталоге веб-сайта об этом не упоминалось (за исключением очень простого кода, который не вызывает этого). Пул приложений DefaultAppPool
, которые должны иметь относительно ограниченные привилегии, а права пользователя Windows для самой папки настраиваются так же, как и для других серверов. Что касается Google, любые результаты в основном заглушаются людьми, которые пытаются сделать каталог видимый, часто при работе с кодом .NET.
С чего начать отслеживание этой проблемы?
В диспетчере IIS выберите свой сайт и дважды щелкните Request Filtering
затем выберите Hidden Segments
вкладка, вы должны увидеть:
Удостовериться App_Data
здесь. Такой же параметр существует на уровне сервера.
Если он отсутствует, добавьте его, используя Add Hidden Segment...
ссылку на панели действий справа.