gpt4 book ai didi

java - 避免访问数据库

转载 作者:行者123 更新时间:2023-12-01 08:51:39 24 4
gpt4 key购买 nike

我使用 JTDS jar 将我的应用程序 android 与数据库(SQL SERVER)连接(数据库名称,用户,密码)在我的项目中的类中的问题

ConnURL = "jdbc:jtds:sqlserver://" + **** + ";"
+ "databaseName=" +***** + ";user=" + **** + ";password=****"

有没有办法隐藏我的(数据库名,用户,密码)

如果有人反编译我的应用程序,它将有权访问数据库我怎样才能避免这个大问题

最佳答案

如果应用程序将充当客户端应用程序:

更好的方法是不要让应用程序直接与数据库通信。

相反,让服务器作为 Web 服务运行,充当应用程序和数据库之间的中间层。这样,只有服务器端才能访问DB中的数据,应用程序只能与您的服务器定义的API进行交互,从而可以防止诸如恶意SQL语句之类的事情。

如果应用程序是服务器端应用程序:

最好避免将数据库信息硬编码到应用程序中(因为更改应用程序需要重新编译应用程序)。

为了避免直接在应用程序代码中编码数据库信息,您可以将数据库信息存储在外部 .properties 文件中,例如:

db.server=myserver.com
db.name=myDB
db.user=user1
db.pass=pass1

然后您可以单独分发应用程序和属性文件,或加密属性文件。

然后在运行时加载属性文件:

Properties dbProps = new Properties();
InputStream is = new FileInputStream("database.properties");
prop.load(is);

String connURL = "jdbc:jtds:sqlserver://" +
dbProps.getProperty("db.server") +
";databaseName=" + dbProps.getProperty("db.name") +
";user=" + dbProps.getProperty("db.user") +
";password=" dbProps.getProperty("db.pass");

关于java - 避免访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42355402/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com