У меня есть несколько файлов на моем сайте ASP.NET, которые используются исключительно приложением. В настоящее время их можно просматривать в браузере, просто используя URL-адрес. Есть ли способ предотвратить это без фактического перемещения файла, или мне нужно переместить файлы в другой каталог, например _private
?
Если вы можете установить программное обеспечение на сервере, вы можете установить Microsofts URLScan для IIS, чтобы ограничить, какие файлы будут обслуживать IIS. Однако это будет для всего сервера, а не только для приложения.
Вы также должны иметь возможность делать это на уровне сайта, используя файл web.config, подробности Вот, они предназначены для IIS 5 и .net 1.1, но принцип тот же.
Используйте диспетчер IIS, чтобы заблокировать их по отдельности, перейдя к файлу, щелкнув его правой кнопкой мыши и сняв флажок с поля чтения.
ИЛИ
Используйте диспетчер IIS, чтобы создать правило для типа файла (см. Эту веб-страницу: support.microsoft.com/kb/815152)
Файлы конфигурации и данных, предназначенные только для внутреннего использования, следует поместить в папку App_Data:
Папка App_Data
Чтобы повысить безопасность данных, используемых вашим приложением ASP.NET, для приложений ASP.NET была добавлена новая подпапка с именем App_Data. Файлы, хранящиеся в папке App_Data, не возвращаются в ответ на прямые HTTP-запросы, что делает папку App_Data рекомендуемым местом для данных, хранящихся в вашем приложении, включая .mdf (SQL Server Express Edition), .mdb (Microsoft Access) или XML. файлы. Обратите внимание, что при использовании папки App_Data для хранения данных вашего приложения удостоверение вашего приложения имеет разрешения на чтение и запись в папку App_Data.