在 ASP .NET 5 中如何保护配置数据?

Posted

技术标签:

【中文标题】在 ASP .NET 5 中如何保护配置数据?【英文标题】:How is configuration data protected in ASP .NET 5? 【发布时间】:2015-08-09 09:45:26 【问题描述】:

ASP .NET 5 提供了许多选项来提供配置数据,而不是要求Web.config。这方面的信息可以在以下位置找到:

Introducing ASP .NET 5 斯科特·格思里 How can we store configuration data in new asp.net vnext?(堆栈溢出) ASP.NET vNext Moving Parts: IConfiguration by Louis DeJardin

ScottGu 文章的 cmets 部分有一个有趣的问题:

示例中的 config.json 文件,webserver/http 服务器如何保护它? web.config 受 IIS 保护,但如果可以使用任何文件(这很好),它还会带来负担,即如果在 URL 中请求该文件,则 web 服务器不应提供该文件。还是有预制名称可供选择?

谁能回答这个问题?

【问题讨论】:

【参考方案1】:

在以前版本的 ASP.NET 中,项目的根目录也是网站的根目录。创建了一些机制来防止访问不应被外部世界访问的文件(例如 mime 类型的白名单,RequestFilteringModule)。

这在 ASP.NET 5 中发生了变化,因为网站根不再是项目根。 网站根文件夹是您项目目录中的子文件夹(默认名为 wwwroot,但可以在 project.json 中更改)。 这意味着网站根文件夹之外的所有内容都无法访问外部世界。

config.json 文件位于 wwwroot 之外,因此它永远不会被任何请求处理。

【讨论】:

以上是关于在 ASP .NET 5 中如何保护配置数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ASP.NET 5 MVC 6 保护 Web API

.net网站如何配置iis发布

如何在 VS2010 中使用 asp.net 重新配置和编译网站到 Framework 3.5?

ASP.Net 5 RC2 配置节绑定

ASP.NET 5 (vNext) - 获取配置设置

ASP.NET 5 (vNext) - 获取配置设置