Winform应用程序中的数据库安全性

本文关键字:数据库 安全性 应用程序 Winform | 更新日期: 2023-09-27 17:58:16

我为我的一个朋友开发了一个带有SQL Server 2008 R2数据库的Winforms应用程序。

当我部署&把它安装在我朋友的电脑上;软件清楚地显示了数据库文件。如果他在SQL Server中打开该文件,那么他就可以查看我的SQL查询、tbl结构等。

我只是想对我的客户隐瞒这一切。

我该怎么做?

我在网上搜索了一些软件。当我把它安装在电脑上时;它没有显示任何数据库文件。他们是怎么做到的?

请帮帮我。

Winform应用程序中的数据库安全性

如果你的应用程序和数据库都部署在你朋友的电脑上,你几乎无法真正阻止他/她访问你的数据库。

SQL Server中没有阻止授权用户(如管理员)查看架构的功能,如果您拥有该计算机,即使您最初没有被添加到管理员角色或被授予SA帐户访问权限,您也可以通过多种方式向SQL Server显示管理员身份。您可以设置一些障碍,比如将所有内容放入存储过程中,然后加密SP,但这只是一个小障碍,而不是一堵墙。

这并不是SQL Server独有的,同样的问题也适用于市场上几乎所有的RDBMS。如果你拥有这个盒子,那么访问数据库内容就不难了。几十年来,软件供应商一直在尝试这样做,但大多数供应商只是放弃并合法保护他们的IP。这对你来说不是安慰,但这是现实。

如果使用像Azure这样的服务是可行的,你可以在Azure中托管你的应用程序,数据库可以是Azure SQL DB或VM中的常规SQL Server。如果特征集和表面积适合您,我会推荐前者;它与您习惯的SQL Server box产品不同。然而,它在管理和安全方面的工作要少得多。该应用程序也在Azure中,您的朋友和客户将通过浏览器访问,并且永远无法直接访问数据库。即使该应用程序是在你朋友或客户的机器上本地安装的,也可以很容易地设计该应用程序,使他们只能访问数据,而不能访问其他内容。