首页 > 解决方案 > 如何在 Java 中隐藏我的数据库信息?

问题描述

我正在尝试找出 Java 中的数据库安全性。像视频游戏、桌面应用程序和其他在其代码中使用数据库以及如何在其中存储密码的其他应用程序。

这是一个示例:
有一个应用程序使用 MySQL 数据库来存储用户数据及其信息。

用户已注册并登录到我们的应用程序。他开始时有 0 个硬币。他从商店买了100个硬币,他的硬币数据变成了100个。在我提到的步骤中,他总​​是使用数据库来插入和更新他的数据。

简而言之,如何在我的 Java 代码中隐藏我的数据库信息(用户名和 IP?)?

此外,我搜索了一段时间,发现您可以发送网络请求以获取信息,但是如果有人找到请求的代码,他们也可以制作他们的程序并使用与我的应用程序相同的请求。所以,我无法弄清楚这一点。

标签: javadatabasesecurity

解决方案


通常,数据库位于您控制的服务器中,并且您提供 API 来发出请求。

在这些请求中,没有关于数据库用户名或密码的信息,应该在您的服务器上。

然后,您需要保护该连接。通常,你通过身份验证和授权来做到这一点。您需要向您的用户提供用户名和密码,这存在于他们对您的服务器所做的任何请求中。此外,您需要在服务器中进行控制以控制每个用户可以做什么(控制用户不能执行他们想要的任何查询)。

一种常见的方法是使用联合身份验证和授权,以及 OAuth2.0 或 OpenID 等协议。

此外,您需要确保使用 HTTPS,否则攻击者可能会捕获流量并提取所有请求信息。


推荐阅读