在 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 中的好处是可以在几秒钟内更改它而无需再次部署整个项目,有时我们需要更改。