环境
我有一个 java
应用程序需要访问 mysql
数据库来加载和保存数据,而加载/保存不能通过写入磁盘来进行,所以它必须通过数据库。
我正在阅读有关 JNDI
的内容,但我不确定这是否会有所帮助,因为我看到的每个示例都是针对 java servlet
的,而我的目标是使用它在 java
独立应用程序中。
问题
存储
mysql
用户名和密码的最佳方式是什么,以便所有客户端都可以访问数据库,但仍然保护登录信息,以免我的程序被反编译,有人使用mysql
登录以删除我所有的表?你们会推荐什么?我希望这尽可能安全,我愿意接受任何建议。
只会在数据库上执行少数语句,而且这些语句是准备好的语句中使用的硬编码字符串,所以我认为这是安全的还是不安全的?
但我的主要问题是保护数据库登录信息。
最佳答案
您有多种选择:
- 以尽可能低的权限使用凭据。这意味着该用户将能够 INSERT 但不能 DROP 或 DELETE
- 通过创建网络服务(或其他远程技术)将程序和写入数据库的代码分开
- 仅使用 PROCEDURE 和 FUNCTION 来联系数据库并仅将它们授予用户。通过这样做,您将登录到数据库,除了调用过程和函数之外不允许执行任何操作。
关于JAVA如何存储mysql登录信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34658707/