我有一个托管在 Azure 上的 SQL Server 数据库。我需要将使用 WPF 应用程序的多个 PC 用户的数据写入此数据库。
假设 WPF 应用程序由多个用户使用,将连接字符串保存在 app.config
文件中是否安全?将数据从 Windows 应用程序保存到共享数据库的最佳实践是什么?
恐怕用户可以利用 app.config
中存储的连接字符串来操作数据。
最佳答案
Assuming that WPF app is used by multiple users is it safe to save connection string in app.config file?
恕我直言,以纯文本形式存储连接字符串永远不安全。用户可以在应用程序外部连接到数据库并对数据库造成严重损坏,您说得完全正确。
我想到的一些事情是:
- 加密连接字符串并使用它,而不是存储未加密的连接字符串。
- 使用基于 Azure AD 的访问控制。最近,Azure 团队宣布可以使用 Azure AD 凭据连接到 SQL 数据库。这样您就可以在用户连接到数据库之前对其进行身份验证。您可以在这里阅读更多相关信息:https://azure.microsoft.com/en-in/documentation/articles/sql-database-aad-authentication/ .
您可能还会发现以下文章对于保护 Azure SQL 数据库很有用:https://azure.microsoft.com/en-us/documentation/articles/sql-database-security-guidelines/ .
关于c# - 从 WPF 保存到 SQL Server 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39060918/