为什么一些asp.net开发人员加密ConnectionStrings?

时间:2012-03-08 13:53:35

标签: asp.net asp.net-mvc configuration-files


我看到一些asp.net开发人员加密了包含在单独配置文件中的ConnectionStrings。
为什么他们这样做?我知道配置文件在客户端/浏览器中是不可读的!是否可以访问此类文件?

4 个答案:

答案 0 :(得分:15)

您不能排除网站被盗用。 此外,您不希望Web管理员知道数据库的密码。

您需要记住浏览器无法获取配置文件只是因为.config扩展名在IIS元数据的限制列表中。有可能以其他方式从服务器获取它们,或者某些错误配置问题可能允许它们被下载。

答案 1 :(得分:4)

维护人员,备份操作员或其他有权访问磁盘的人员无需通过网站即可访问这些文件。这是一个例子。

答案 2 :(得分:3)

如果您上传自定义错误设置为“off”的web.config文件,则Web应用程序生成的任何错误都将显示您的代码。这甚至可以包含配置文件中的行,这可能包括“ConnectionStrings”,使其对公众可见。

答案 3 :(得分:3)

对每个组织而言,最重要的是他们的数据

  1. 这是在有多个开发人员在同一个工作的地方完成的 应用
  2. 有时候,新开发者也会加入团队。暴露每个&数据库的各个方面,系统,登录名,机器名永远不是一个好方法
  3. 生产中存在信息泄漏的可能性,测试Q / A阶段等。
  4. 当组织中存在代码被盗时,这非常方便,因为连接字符串已加密,所以您的数据不会受到外部入侵的影响
  5. 如果有人可以访问您的数据库,那么您是否可以承担风险?从表中执行表/模式删除或删除所有操作? MSDN: How to secure connection strings when using a datasource