在 web.config 中设置连接字符串是否存在安全漏洞? (ASP.NET MVC,Entity Framework)
Is setting a connection string in web.config a security vulnerability? (ASP.NET MVC, Entity Framework)
我正在使用 MySQL 数据库开发 ASP.NET MVC 5 Web 应用程序 Entity Framework 6。我在 web.config 中的连接字符串如下所示:
<connectionStrings>
<add name="IdentityDB" connectionString="Data Source=localhost; User Id=user;Password=Password;database=myDatabase;" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
所以,我的问题是:web.config
中的连接字符串是否存在一些安全问题?因为当我发布应用程序时,web.config
文件将在 www.
有问题吗?如何隐藏连接字符串或密码?
谢谢,
大熊熊
这不是安全漏洞,除非或除非您的服务器可以被未经授权的人访问,因为 webconfig 仅在服务器上可用,并且如果访问服务器,则他们可以获得该连接字符串,或者您已授予 public 访问权限到您的网络配置。
有两种情况,要么你的数据库托管在同一台服务器上,这是通常的情况,要么可以访问服务器,要么直接在用户面前访问数据库。
在其他情况下,如果数据库不在同一台服务器上,那么他们可以从连接字符串中受益,并且可以连接到它。
将连接字符串保留在 webconfig 中的好处是可以在几秒钟内更改它而无需再次部署整个项目,有时我们需要更改。
我正在使用 MySQL 数据库开发 ASP.NET MVC 5 Web 应用程序 Entity Framework 6。我在 web.config 中的连接字符串如下所示:
<connectionStrings>
<add name="IdentityDB" connectionString="Data Source=localhost; User Id=user;Password=Password;database=myDatabase;" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
所以,我的问题是:web.config
中的连接字符串是否存在一些安全问题?因为当我发布应用程序时,web.config
文件将在 www.
有问题吗?如何隐藏连接字符串或密码?
谢谢, 大熊熊
这不是安全漏洞,除非或除非您的服务器可以被未经授权的人访问,因为 webconfig 仅在服务器上可用,并且如果访问服务器,则他们可以获得该连接字符串,或者您已授予 public 访问权限到您的网络配置。
有两种情况,要么你的数据库托管在同一台服务器上,这是通常的情况,要么可以访问服务器,要么直接在用户面前访问数据库。
在其他情况下,如果数据库不在同一台服务器上,那么他们可以从连接字符串中受益,并且可以连接到它。
将连接字符串保留在 webconfig 中的好处是可以在几秒钟内更改它而无需再次部署整个项目,有时我们需要更改。