我准备部署一个VB.Net应用程序,该应用程序将被全世界的用户使用,并在线连接到托管的SQL Server数据库。由于服务器不在我的域中,因此我使用SQL用户名和密码通过IP地址进行连接。
我最大的担心是,有人可以对应用程序进行逆向工程并检索连接字符串(包括IP,用户名和密码),然后轻松登录数据库。
我的问题是,在这种情况下,存储和检索SQL连接字符串的正确方法是什么?
由于用户将连接到托管服务器,因此我无法使用Windows身份验证。
我已经阅读了一些相互矛盾的建议,认为存储在app.config文件中的所有内容均受保护,而其他建议则对app.config文件中的字符串进行加密。
Visual Studio能够在不使用密码的情况下生成连接字符串,并且可以检索数据,但是我敢肯定,一旦部署了项目,而在项目本身中不存在密码,它将基本上失败。
防止这种情况的最佳实践和最安全的方法是什么? (如果可能的话!)