[英]How to protect web.config connection string from other developers?
我需要保护Web.config
文件免受恶意用户访问我们的网络服务器和小组中的初级开发人员的侵害。 我已使用RsaProtectedConfigurationProvider
成功加密和解密我们的文件。 但是,对连接字符串进行解密就像从应用程序访问它一样容易,无论它是否已加密
protected void btnShowConnectionString_Click(object sender, EventArgs e)
{
lblMessage.Text = WebConfigurationManager.ConnectionStrings["MyTestConnection"].ConnectionString;
}
如何保护我的连接字符串,以避免类似的情况发生?
您无法使用标准解决方案执行此操作。
为此,您应该使用此连接字符串在标准库周围编写自己的包装器,该包装器将从webconfig解密连接字符串。 而且,您应该使用Sentinel Hasp之类的东西来保护包装程序免于反编译。 如果您不保护包装器,则很容易获得加密算法并解密连接字符串。
但是,不将生产连接字符串写入开发人员webconfig会更简单。 部署到生产环境时,请使用开发人员环境来开发和编写生产环境连接字符串。
您可以阅读有关secure string connection
链接,这是msdn推荐的解决方案
链接: http : //msdn.microsoft.com/en-us/library/89211k9b(v=vs.80).aspx
恕我直言,您提到的“解决方法”并不是真正的解决方法,而是它的本质。
您的应用程序(网络或其他方式)必须能够解密信息,以便我可以实际建立连接。 除非您对SQL Server使用Windows身份验证,否则user / pwd总是“存在” ...我最讨厌的问题是为什么/如何在您的应用程序中首先存在这样的代码?
如上所述,在前面的答案中,将您的开发环境与生产分开了-也许只有在生产环境中进行生产配置转换 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.