Asp.net ConnectionString以安全的方式

我无法在谷歌上得到满意的答案,他们是:

  • ConnectionString比HttpRequest更安全吗?
  • 在web.config文件中使用ConnectionString比在任何特定的aspx页面中使用更安全吗?
  • 以及如何为高度安全的网站保护ConnectionString?

我很想知道这件事。

您可以加密webconfig中的conenction字符串,以下是Microsoft关于此主题的文章: http : //msdn.microsoft.com/en-us/library/dx0f3cf2( v = vs。80) .aspx

如果您通过通道发送连接字符串,它不会比通道更安全。 例如,通过HTTP发送连接字符串,它将只是纯文本,HTTPS,它将被加密,通过FTP只计划文本,等等……

如果您在共享托管环境中有Web应用程序,则应该担心提供程序可能会被黑客攻击。

所以只需将连接字符串保留在web.config中并对其进行加密,不要在互联网上发送;-)

连接字符串在web.config中是安全的。 它们非常安全,除非您在Web请求中打印出来。

关于CodePlex 加密/解密连接字符串的好项目

有很多方法可以保护你的连接字符串

  1. 加密您的连接字符串并将其保存在webconfig中
  2. 加密您的连接字符串并将其保存在Windows注册表中

最好在webconfig中保存连接字符串,以用作整个应用程序的单一使用点。

ConnectionString比HttpRequest更安全吗?

这是一个字符串。 它只是与连接一样安全,所以通常根本没有。 这是假设您通过HttpRequest 发送连接字符串详细信息。 如果不是这种情况,并且在web.config使用了连接字符串,则它与文件本身和IIS一样安全。

在web.config文件中使用ConnectionString比在任何特定的aspx页面中使用更安全吗?

没有。

以及如何为高度安全的网站保护ConnectionString?

通常,使用集成安全性(Windows身份validation)来避免用户名和密码的硬编码。 此外,您可以加密配置部分,如此处所述(RSA)和此处 (DPAPI)。

ConnectionString比HttpRequest更安全吗?

你是否通过http请求发送连接字符串? 真的吗? 这是什么情景? 通常,只有网页请求通过http请求和响应进行。 Connectionstring是您的代码在内部用于访问数据的东西,它保留在您的服务器中。

在web.config文件中使用ConnectionString比在任何特定的aspx页面中使用更安全吗?

考虑可维护性。 如果将连接字符串放在类中,则必须在必须更改连接字符串时重建应用程序。 如果某个机构可以访问您拥有文件的文件夹,他们可以使用反汇编程序查看您的dll中的内容。

以及如何为高度安全的网站保护ConnectionString?

您可以在web.config中加密连接字符串。 查看此链接http://www.codeproject.com/Tips/304638/Encrypt-or-Decrypt-Connection-Strings-in-web-confi

要依次回答您的问题:

  • How secure ConnectionString is over the HttpRequest?

您永远不必通过HTTP传递连接字符串; 通常发生的是用户发出请求,您的站点处理请求,包括连接到数据库,并将结果返回给客户端。 在此方案中,不应通过HTTP发送连接字符串。

  • Is using ConnectionString in web.config file more secure than using in any specific aspx page?

取决于你使用连接字符串做什么 – 如果你把它写到客户端那么它永远不会是安全的! 连接字符串通常放在配置中以便可重用; 将它嵌入每个页面会使更多的维护和潜在的错误。

  • And how to secure ConnectionString for highly secure website?

您可以加密连接 – 因此它永远不会以纯文本forms存储,或者使用Windows身份validation,因此您永远不需要密码。 ASP.Net支持这一点,如此处和此处所述 。