6

我正在考虑在 github 上发布一个项目。它可能包含敏感数据,如 API 令牌,我自然不想公开。我想在本地使用带有正确令牌、密码等的代码,但只有占位符才能访问存储库。

我可以尝试记住每次推送之前删除这些数据(手动,自动?),但是本地和 github 副本显然不同,无论如何这似乎很容易出错。

这种情况有什么好的做法?

4

1 回答 1

6

编辑:对于任何看这个的人。刚刚看到这个优秀的答案,非常值得一读:
如何将我的密钥和密码安全地保存在我的版本控制系统中?

---继续旧答案---

好问题。请参阅这篇文章以获得良好的开端:意外 API 密钥暴露是一个主要问题

我通常会尝试将所有 api 令牌保存在外部文件中。

我在 .gitignore 中排除该文件:

##################
#Ignore API token#
##################
token.txt

然后我从文件中读取令牌(在 python 中工作):

#import token from token.txt file in same directory
token_file = os.path.join(path, "token.txt")

with open(token_file, 'rb') as f:
    token = f.read().replace('\n', '')

因为我从不推送令牌文件,所以它永远不会暴露。

于 2014-02-13T17:41:53.710 回答