Asp.net ConnectionString以安全的方式

时间:2012-03-28 12:58:34

标签: c# asp.net security

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

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

我只是想知道这件事。

7 个答案:

答案 0 :(得分:8)

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

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

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

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

答案 1 :(得分:4)

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

答案 2 :(得分:3)

CodePlex上的好项目Encrypt/Decrypt Connection string

答案 3 :(得分:2)

有很多方法可以保护您的连接字符串,例如

  1. 加密您的连接字符串并将其保存在webconfig中
  2. 加密您的连接字符串并将其保存在Windows注册表中
  3. 最好在webconfig中保存连接字符串,以用作整个应用程序的单一使用点。

答案 4 :(得分:2)

  

ConnectionString对HttpRequest的安全性如何?

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

  

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

没有

  

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

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

答案 5 :(得分:0)

ConnectionString比HttpRequest更安全吗?

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

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

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

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

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

答案 6 :(得分:0)

依次回答你的问题:

  • 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?

您可以加密连接 - 因此它永远不会以纯文本形式存储,或者使用Windows身份验证,因此您永远不需要密码。 ASP.Net支持这一点,如herehere所述。