asp.net - 将连接字符串保留在配置文件中有多安全

标签 asp.net web-config connection-string

我见过很多人将连接字符串保留在 web.config 文件中,而不是对其进行硬编码。但我发现它非常危险,特别是在所有用户使用相同连接字符串的情况下。这意味着任何有权访问 Web 配置文件的人都可以轻松获取数据库的用户名和密码并执行各种严重的操作。能够在不深入代码的情况下修改连接字符串值得这种权衡吗?将连接字符串保留在配置文件中还有其他好处吗?

最佳答案

基于 Web.config 的连接字符串似乎不安全,因为人们可以读取它。但想一想,如果一个人可以读取您的 web.config,意味着他无论如何都可以编辑您服务器上的任何文件,因为他可能已经破解或获得了文件的访问权限。所以,这真的没有多大关系。但为了确保更多安全,您可以执行以下操作:

  1. 加密您的连接字符串并将该加密字符串放入 Web.config 中,然后解密并读取 DLL 文件。

  2. 创建一个 DLL 并将连接字符串放入该 DLL 中,稍后添加对该 DLL 的引用并使用连接字符串。

但是,使用 Web.config 将允许您根据需要更改连接字符串。就像我必须在 5 个不同的服务器上运行站点一样,出于开发、测试生产目的,所以我在各处放置了不同的 web.config,而不是一直更改代码。因此,根据您的需要以及服务器的配置方式,一种或另一种方法总是好或坏。

关于asp.net - 将连接字符串保留在配置文件中有多安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14951425/

相关文章:

asp.net - web.config 索引重定向

sql-server - SQL SERVER ODBC 错误(对象名称无效),但是当我添加 SQL 查询 mydb.dbo.mytable 时一切正常

c# - 如何从另一个项目访问连接字符串

sql-server - 将某些(任何)类型的上下文信息从 SSAS 连接字符串传递到基础数据库

wcf - 在 IIS 上发布 WCF 服务 .NET 3.5

.net - ASP.NET Webforms 的主要优势是什么?

c# - 下拉菜单中的回发或回调参数无效

javascript - 防止 javascript 代码在 asp.net 中转义

c# - 如何在 web.config 文件中创建 <location> 标签?

c# - html选择(下拉)控件在asp.net中选择索引更改事件