phpMyAdmin与Java

phpMyAdmin与Java,java,mysql,Java,Mysql,我正在用Java开发一个远程连接MySQL数据库的应用程序 然而,我在Java中有关于数据库的所有信息,如主机名、用户名和密码以及表名。用户必须下载jar文件并登录系统(类似于所有的机器人软件),但我担心安全风险 所有jar文件都可以反编译,每个人都可以看到源代码。他们将获得有关数据库的所有信息。这是安全风险吗?我应该怎么做 我还有一个问题,当我远程连接到已有成员的数据库,并在phpMyAdmin中创建新表时,它还不会将已注册的成员复制到该表中,我该怎么做?对于第一部分,您需要将数据库凭据保存在

我正在用Java开发一个远程连接MySQL数据库的应用程序

然而,我在Java中有关于数据库的所有信息,如主机名、用户名和密码以及表名。用户必须下载jar文件并登录系统(类似于所有的机器人软件),但我担心安全风险

所有jar文件都可以反编译,每个人都可以看到源代码。他们将获得有关数据库的所有信息。这是安全风险吗?我应该怎么做


我还有一个问题,当我远程连接到已有成员的数据库,并在phpMyAdmin中创建新表时,它还不会将已注册的成员复制到该表中,我该怎么做?

对于第一部分,您需要将数据库凭据保存在一个单独的文件中,应用程序在启动时读取该文件。更多信息,请参阅。您将需要考虑以不危及JVM优化的方式混淆代码。尝试使用来混淆代码

您需要有一个单独的脚本在现有表和新表之间进行数据传输

  • 从旧表导出用户数据
  • 将用户数据导入到新表中
  • phpMyAdmin内置了所有这些功能


    编辑:在生产环境中,限制终端用户的数据库用户权限,例如确保他们没有“删除”权限,等等。

    问题太宽泛了……无论如何,登录应该由每个用户和服务器控制,如果他们获得密码,这没什么大不了的……我们希望得到任何答案,谢谢如果你有任何例子让我们知道谢谢。你在什么Java环境(SE、EE、Android)工作?我们需要问你一些问题,如果我们只想使用桌面登录应用程序,我们应该使用什么,在用户登录后,会有带文件的cpanel。用户将点击文件,它将启动exe或java程序,该程序将位于服务器上。所以用户无法获得程序的pyshical副本。最简单的方法是什么?欢迎提供任何信息。在这种情况下,您的db login creds文件也需要驻留在服务器上,并在运行时从服务器读取。一种可能的黑客行为可能是在用户登录时临时创建一个本地文件(其中包含一些文本)。每次用户登录时检查此文件是否有文本。当用户注销时,将其删除或清空,以便下次用户启动应用程序时可以对其进行检查。