首先,我知道这个问题已经被问过好几次了,我已经对这个主题做了很多研究,但我似乎无法找到一个明确的答案。我要么在这里遗漏了一些重要的东西,要么这是不可能的,我只是在浪费你的时间。开始:
想象一个数据库,假设它只存储 1000 行,由一个 id、一个必须在某些时候更改的布尔值(0 或 1)和一个带有一些信息的常量字符串值组成。仅当用户在客户端 java 应用程序中提交了所需的操作时,才能访问该信息并且可以更改该值。只有存在才是至关重要的。
在我的万维网搜索过程中,我遇到了两个可以满足我需求的选项。
在数据库本身上为每个用户设置权限,并让用户使用自己的用户名和密码从应用程序登录。然后,客户端应用程序可以按照用户的意愿与数据库通信,根据需要执行读取和写入数据库的任务。
使用三层方法,让 java 应用程序与 PHP 接口通信,该接口执行查询并返回一个编码的 json 字符串,java 应用程序可以解析该字符串。我了解了基本概念,您将客户端的用户名和密码发送到 PHP 接口,该接口检查客户端是否符合条件并相应地执行查询。没什么大不了的。
我似乎无法弄清楚如何只让 java 客户端更改和检索数据。例如,如果有人想知道方法 1 中字符串的内容是什么,他们可以简单地使用他们的用户名和密码并直接查询数据库。反编译后,查询很容易从 java 应用程序中获取。至于#2,如果应用程序被反编译,PHP 接口也可以被逆向工程,允许用户通过利用 PHP 脚本来查询数据库,即使不知道数据库的实际密码和用户名。
我必须指出,用户根本不受信任,数据库的内容应该保密,直到在 java 应用程序中满足某些条件。有没有办法做到这一点?如果有一种我不知道的方法,我肯定不会停留在这两个选项上。感谢您提前提供的所有帮助。