在我创建.env
和.gitignore
文件之前,我的00000
文件中有一个键app.js
基本上是裸文本(我忘记了它的俚语):
var admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.cert({
privateKey: 00000 // this key is naked
})
});
我已将app.js
文件提交并推送到GitHub git push origin master
(首次提交)
后来我创建了一个.env
文件来创建一个常量来隐藏我的裸键:
PRIVATE_KEY=00000
在我的app.js
文件中,我用.env
文件中的常量替换了裸键:
const dotenv = require('dotenv');
dotenv.load();
var admin = require("firebase-admin");
admin.initializeApp({
credential: admin.credential.cert({
privateKey: process.env.PRIVATE_KEY // the key is now safely hidden once added to the .gitignore file
})
});
我创建了一个.gitignore
文件,将.env
文件添加到其中,提交并将所有内容推送到Github(第二次提交)
我现在的问题是我的密钥是隐藏的,没有人可以访问它,但是当我按下所有内容并且密钥是裸的时,第一次提交是什么呢?是以某种方式可访问/不安全?
答案 0 :(得分:0)
@fardjad在评论中给我发了一个链接:github sensitive data
它说:
警告:一旦你将提交推送到GitHub,你应该考虑它所包含的任何数据被泄露。如果您提交了密码,请更改密码!如果您提交了密钥,请生成一个新密钥。 本文将告诉您如何使用GitHub存储库中任何分支或标记无法访问敏感数据的提交。但是,重要的是要注意,这些提交仍然可以在存储库的任何克隆或分支中访问,直接通过GitHub上缓存视图中的SHA-1哈希,以及引用它们的任何拉取请求。您无法对存储库的现有克隆或分支执行任何操作,但您可以通过联系GitHub支持永久删除所有存储库的缓存视图并在GitHub上提取请求。
答案是肯定的,第一次提交裸文是可访问/不安全的。