我如何设置和访问一个配置JSON文件的秘密信息的公共GitHub回购

How do I set-up and access a config JSON file with secret information for a public GitHub repo?

本文关键字:JSON 秘密 文件 信息 回购 GitHub 配置 何设置 设置 访问 一个      更新时间:2023-09-26

我正在建立一个网站,我使用Git和GitHub上的公共仓库进行版本控制。我想保持我的秘密信息的公共仓库,但我的源代码仍然需要访问它。从概念上讲,我相信我已经研究了答案,但我错过了这样做的实际步骤。感谢任何帮助/指导。

主要基于这些优秀的帖子-这个,这个和这个-这是我到目前为止发现的:

  • 不要硬编码机密信息(如密码)到源代码
  • 使用配置文件存储秘密信息
  • 确保配置文件在.gitignore中,所以它不会被推送到GitHub
  • 配置文件可以是JSON或YAML。当我在代码中使用Javascript时,我选择JSON
  • 注意配置文件保存在服务器上的位置

在我的config.json文件中我包含了我的秘密信息:

{
    "APItoken": "tokenPassword",
    "secretToken": "passwordToken"
}

然后在我的HTML文件中添加一个script来访问config.json文件中的相关信息。

<script type="text/javascript" src="config.json"></script>
var mySecretData = JSON.parse(config);
password = mySecretData[0];
token = mySecretData[1];
如果我在正确的方向上,如果我需要对我的代码做任何改变,我真的很感激帮助?

最后,关于我在服务器上保存config.json文件的位置意味着什么?

提前感谢您的帮助!

山姆

我认为唯一缺少的是您将需要一个服务器端进程来使用配置文件。从你发布的html/js来看,你是在客户端做这个。

src="config.json"

这意味着它对世界是公开可用的。您需要将配置存储在文件系统中web目录之外的某个地方,只有您的服务器端应用程序代码才能访问它。

不清楚你在脚本中具体想要实现什么,因为我真的看不出你为什么要从你发布的代码中向客户端发送数据库凭据。

您应该使用node或一些服务器端语言来获取配置,连接到数据库,然后在客户端之间代理数据。您关于从源代码中忽略的其他结论是正确的。