我正在寻找最安全,最方便的方法将一些关键参数存储到我的ASP.NET网站的配置文件中(C#中的代码使用Visual Studio 2012,并使用IIS发布,但我不是知道这真的很重要),例如连接字符串和其他参数。
根据我的发现,我有以下选择:
问题:当我从Visual Studio发布我的网站的更改时,参数可能会被覆盖(或者在发布期间是否有办法不覆盖它们?)
问题:计算机上的所有网站都可以访问配置文件(这可能是安全问题)
问题:需要连接字符串才能访问数据库。我应该在哪里存储连接字符串?
注册表:平均可维护性。无法为每个类别或网站定义特定用户权限。
一个简单的INI文件。很容易维护。但这足够安全吗?
提前感谢您的回答。
答案 0 :(得分:1)
对于.net aspx或mvc web.site,web.config是标准配置,远程用户无法查看或下载它。
如果要存储敏感信息,可以使用可逆算法存储加密值。
查看appSettings部分。 在这种情况下,您可以使用webconfigurationmanager.appsettings读取数据,但请记住,如果要更改这些值,则需要重新启动应用程序以加载新值。
Machine.config更像是一台机器配置。
SQL SERVER或者一般来说数据库可能是一种方式,但我再次使用加密是对数据敏感。如果您希望动态加载值而不必重新加载应用程序,这可能是要走的路,但这实际上取决于您如何读取或缓存值。
关于Registry和ini文件我不会建议他们使用Web应用程序。
希望它有所帮助。