【发布时间】:2016-04-07 09:29:10
【问题描述】:
将用户名或密码作为其他参数存储在web.config 中是否安全,例如ASP.NET MVC 应用程序的超时时间?如果没有,是否可以使这些参数安全,以便它们不能在已发布服务器上的web.config 文件中编码?另一方面,您是否建议将用户名、密码和其他常量参数作为静态值存储在 Class (*.cs) 文件中?您能否澄清一下哪种方法更好地存储这些参数?
【问题讨论】:
-
@Steve 感谢您的帮助。我的意思是有权访问应用程序发布到的服务器的人,“它们不能在已发布服务器上的 web.config 文件中编码”。所以,使用 web.config 选项,我需要像你建议的那样使用加密。另一方面,使用Class文件选项似乎也不错,但我认为没有必要为一个不大的项目创建Resources项目。在这种情况下,只使用一个名为 Constant 的 Class 文件而不是 web.config 来存储所有密码或用户参数是个好主意吗?
-
并非如此。 NET 代码可以很容易地反编译,并且通过某种混淆很难隐藏常量字符串。如果您不能在物理上禁止访问运行代码的计算机,那么没有什么是真正安全的。至少有某种加密足够强大,可以让旁观者保持距离。一切都取决于您需要多大程度的安全性。
-
@CodeCaster 加密 web.config 文件而不是使用额外的文件怎么样?
标签: c# asp.net asp.net-mvc security web-config