В устаревших приложениях ASP.NET *.config
файлы нельзя загрузить, перейдя по URL-адресу. Но по новому соглашению используется appsettings.json
. Теперь, если у меня есть веб-сайт ASP.NET Core под названием contoso.com
, и он обслуживается IIS из каталога с именем C:\inetpub\websites\contoso.com
, и есть файл, расположенный в _5 _... Достаточно ли у IIS для того, чтобы знать, что не следует обслуживать этот файл через HTTP, если кто-то переходит к https://contoso.com/appsettings.json?
Защищен ли appsettings.json IIS?
Ответы (1)
Файлы обычно обслуживаются из папки «wwwroot». Файл appsettings.json безопасен, если вы не настроили C:\inetpub\websites\contoso.com\
в качестве корневого веб-сайта вашего приложения. По умолчанию статические файлы находятся в C:\inetpub\websites\contoso.com\wwwroot\
. Я рекомендую этот отличный документ: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files
Кстати, если не указано иное, IIS даже не проверяет файловую систему. На самом деле именно ASP.NET Core гарантирует, что файлы будут обслуживаться только из папки «wwwroot». Типичный веб-сайт ASP.NET Core в IIS фактически работает как отдельный веб-сервер, на который IIS выполняет обратные прокси-серверы через модуль ASP.NET Core. Это означает, что все запросы обрабатываются ASP.NET Core. Для обслуживания статических файлов необходимо использовать промежуточное ПО для статических файлов, которое доступно в пакете Microsoft.AspNetCore.StaticFiles.