有一个带有服务器数据库的网站。我正在构建一个桌面应用程序,该应用程序使用其中一张表中的数据。黑客可以从程序集中轻易地获取密码。
如何保护数据库?
有一个带有服务器数据库的网站。我正在构建一个桌面应用程序,该应用程序使用其中一张表中的数据。黑客可以从程序集中轻易地获取密码。
如何保护数据库?
我不会在应用程序中存储数据库信息。相反,我会在网站上创建一个与数据库连接的API,可以实现RESTful接口或查询以适当的格式返回数据,例如JSON、XML甚至纯文本。然后应用程序可以调用这些Web服务并处理结果。所有数据库信息都留在服务器上,这样就更安全了。
API 添加了有时不必要的应用层。并非所有我参与的应用程序都能轻松地从使用数据库调用转换为 Web 服务调用。如果应用程序尚未编写,那么我想这并不重要。
我的替代实现方式是:
这将节省我创建 API 的工作量,在我大多数项目中都是浪费时间的。
如果您想将应用程序分发给客户,则此替代方案不可行。
你可以:
A)创建一个三层系统。您的客户端可以与服务器接口,服务器再与数据库接口。服务器存储访问凭据。
B)为您的用户在数据库上创建个人账户。如果需要对数据进行细粒度访问控制,则此双层模型适用。例如,在具有不同用户角色的内部应用程序中。
不要让数据库用户登录应用程序并执行除应用程序数据以外的任何写操作或读操作。
或者,选择一个明智的架构,就像Thomas上面提到的那样。数据库用于存储和检索数据,它们不是通用的应用程序服务器。