存储网站配置参数的最安全方法是什么

时间:2016-01-20 20:48:00

标签: c# asp.net security iis

我正在寻找最安全,最方便的方法将一些关键参数存储到我的ASP.NET网站的配置文件中(C#中的代码使用Visual Studio 2012,并使用IIS发布,但我不是知道这真的很重要),例如连接字符串和其他参数。

根据我的发现,我有以下选择:

  • web.config。这样,只有我的网站才能访问这些设置。

问题:当我从Visual Studio发布我的网站的更改时,参数可能会被覆盖(或者在发布期间是否有办法不覆盖它们?)

  • machine.config =>该出版物不会覆盖现有参数。

问题:计算机上的所有网站都可以访问配置文件(这可能是安全问题)

  • SQL Server:易于维护

问题:需要连接字符串才能访问数据库。我应该在哪里存储连接字符串?

  • 注册表:平均可维护性。无法为每个类别或网站定义特定用户权限。

  • 一个简单的INI文件。很容易维护。但这足够安全吗?

提前感谢您的回答。

1 个答案:

答案 0 :(得分:1)

对于.net aspx或mvc web.site,web.config是标准配置,远程用户无法查看或下载它。

如果要存储敏感信息,可以使用可逆算法存储加密值。

查看appSettings部分。 在这种情况下,您可以使用webconfigurationmanager.appsettings读取数据,但请记住,如果要更改这些值,则需要重新启动应用程序以加载新值。

Machine.config更像是一台机器配置。

SQL SERVER或者一般来说数据库可能是一种方式,但我再次使用加密是对数据敏感。如果您希望动态加载值而不必重新加载应用程序,这可能是要走的路,但这实际上取决于您如何读取或缓存值。

关于Registry和ini文件我不会建议他们使用Web应用程序。

希望它有所帮助。