【问题标题】:How to hide MySQL Connection String- Username and Password on GitHub (Java)如何在 GitHub (Java) 上隐藏 MySQL 连接字符串-用户名和密码
【发布时间】:2017-12-13 04:05:47
【问题描述】:

我一直在努力寻找解决当前困境的方法。所以我正在做一个小项目,创建一个简单的 POS 系统,我使用 Oracle MySQL 数据库来存储用户密码、项目名称、价格等信息。我使用 Amazon AWS 作为主机。当我在我的代码中连接到它时,我使用

Connection conn=DriverManager.getConnection("amazon host url","some username","somepassword");

一些用户名、一些密码和亚马逊主机 url 是我代码中的真实值,我只是出于明显的原因使用它。

现在,如果我将我的代码上传到 github,那么我的 MySQL 连接将公开,人们可以连接到它。如何隐藏这些信息,但仍将我的代码上传到 github?我一直在网上寻找,但我只能看到有关 PHP 的解决方案,如果有人能帮助我解决这个问题,那就太好了。

【问题讨论】:

  • 创建属性文件并在其中添加您的username, password,dburl 并将该属性文件添加到.gitignore
  • 属性文件是什么意思?那么我应该将用户名、密码和 dburl 添加到文本文件中吗?然后在我的代码中通过读取文件中的行来获取它?
  • 是的!你是对的,但它不是文本文件“属性”文件

标签: java mysql amazon-web-services github


【解决方案1】:

属性文件

可用于根据属性键获取属性值。 Properties 类提供了从属性文件中获取数据并将数据存储到属性文件中的方法。此外,它还可以用于获取系统的属性。

属性文件的优点

如果从属性文件中更改了信息,则不需要重新编译:如果从属性文件中更改了任何信息,则不需要重新编译java类。用于存储需要经常更改的信息。

要从属性文件中获取信息,请创建属性文件名称为.dbconfig.properties

 #DB Properties
 db.driver="driverclassname"
 db.url=jdbc:mysql://localhost:3306/YOURDBNAME
 db.username=USERNAME
 db.password=PASSWORD

.gitignore 一个文件将忽略您的dbconfig.properties,同时推送到公共存储库以进一步参考gitinore 参考:https://git-scm.com/docs/gitignore

.gitignore 文件

 /resources/dbconfig.propreties/

从java文件中的properties文件中读取数据的java类

 private ResourceBundle reader = null;
 try{ 
     reader = ResourceBundle.getBundle("dbconfig.properties");
     Connection conn=DriverManager.getConnection(reader.getString("db.url"),reader.getString("db.username"),reader.getString("db.password"));
 }catch(Exception e){
}

【讨论】:

  • OP 很乐意获得此解决方案,但是,您没有添加单一解释,例如他为什么要使用以及他如何重用的属性是什么等。只需共享代码到 OP 可能适用于 OP,也可能不适用于 OP。
  • @KalaiselvanA 你又没明白我的意思。无论如何离开它。
  • @KalaiselvanA 所以我正在尝试使用您的解决方案,但是每当我将项目上传到 github 时,dbconfig.properties 文件仍会上传到 github。我不知道为什么。
  • @KevinLin 你能分享你的.gitignore 文件吗
  • @KevinLin 应该在你的根目录下,ref:github.com/github/gitignore/blob/master/Java.gitignore
猜你喜欢
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
  • 1970-01-01
相关资源
最近更新 更多