gpt4 book ai didi

c# - 如何保护 C# 应用程序访问的 sql 服务器

转载 作者:行者123 更新时间:2023-11-30 13:40:27 26 4
gpt4 key购买 nike

简单而人为的例子:

C# 桌面应用程序与 SQL Server 数据库对话。所有订单都存在于 Orders 表中。

应用程序查看、创建和修改订单。在此示例中,用户只能修改自己的订单

问题:

如果使用专用的 sql 凭据,连接字符串的存储。即使使用用户凭据,也可以通过直接通过 Excel 或 Access 连接来绕过应用程序安全。

解决方案:

仅通过网络服务/中间件提供对 SQL 的访问。很好,但在这种情况下不一定可行。

在某处应用程序中加密连接字符串。不是非常安全,通过默默无闻的安全。

通过授予对特定存储过程、 View 等的访问权限而不访问实际表来保护数据库。 SP 和观点考虑了用户的权利/凭证。太可怕了。好的简单示例(选择用户所在的位置,一旦您介绍不同组中的用户、经理关系等,就会变得复杂。

备选方案:

你会如何处理这个问题?

谢谢

最佳答案

Even if user credentials are used, application security could be bypassed by connecting directly through Excel or Access

你是什么意思?您不应允许用户直接或使用 Excel 或 Access 连接到 SQL Server。他们不应该知道 sa 或其他密码。

在此之后,您当然可以加密应用程序的某些部分,配置以便任何人都无法看到其内容。

我真的会有这样的逻辑,即用户只能在应用程序级别修改他/她自己的订单。我想也可以在存储过程中完成,但这要视情况而定,应该了解更多详细信息以建议最佳或最合适的方法。

关于c# - 如何保护 C# 应用程序访问的 sql 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7902578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com