App_Data - каталог данных веб-приложения. Насколько это безопасно? - PullRequest
7 голосов
/ 11 февраля 2009

Во многих местах документации msdn вы можете найти ссылки на каталог App_Data. Например здесь мы можем прочитать:

Чтобы повысить безопасность при использовании локального файла данных в приложении ASP.NET, вы должны сохранить файл данных в каталоге App_Data.

и

Файлы, хранящиеся в каталоге App_Data не будет обслуживаться в Интернете.

Я не смог найти прямую ссылку, которая бы указывала, как гарантируется эта безопасность. Существуют ли какие-либо настройки IIS и т. Д., Которые следует отслеживать, чтобы файлы, которые мы поместили в каталог App_Data, внезапно стали доступны не всем.

Ответы [ 2 ]

12 голосов
/ 11 февраля 2009

Файлы защищены запрещенным обработчиком файлов. Это безопасно, пока все работает. Есть возможности, что обработчики ASP.NET могут выйти из строя, оставив только работающий IIS. В этих случаях ваши файлы web.config и aspx будут использоваться как текстовые файлы.

Если ваши данные не очень чувствительны, это хорошее место для хранения данных. Если у вас есть конфиденциальные данные, сохраните их на другом компьютере.

Редактировать: Больше информации Вы можете прочитать больше о запрещенных обработчиках файлов здесь http://msdn.microsoft.com/en-us/library/bya7fh0a.aspx. Прокручивая вниз, вы заметите, что в файле "root web.config" есть запись для mdfs. Обычно вы можете найти этот файл на вашем компьютере в C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG

Я не смог найти слишком много информации о сбое asp.net, хотя iis еще не запущен, но если вы будете искать в Google такие термины, как «просит скачать aspx» или что-то подобное, вы можете найти отчеты о людях, имеющих проблемы ( как правило, asp.net не настроен должным образом), что позволяет использовать эксплойт. Я не видел, чтобы это случилось очень много, но это возможно.

0 голосов
/ 11 февраля 2009

Вдобавок ко всему, я думаю, что они защищены так же, как и файлы .config. В основном это означает, что обработчик ASP.NET для этих элементов возвращает сообщение «Этот тип страницы не обслуживается». Это может привести к ошибке 404. Самый безопасный способ быть уверенным - не хранить там свою базу данных.

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