如何将机密信息(例如测试密码)保持在版本控制之外?

发布于 2024-11-09 06:55:25 字数 406 浏览 2 评论 0原文

我的一些程序需要一些机密数据(主要是身份验证)才能正常工作。 在开发和测试时,我经常将自己的凭据放入源代码的 main() 中,以查看我的代码是否有效,并在一切正常后将其删除。然而,很容易忘记删除它们。

防止这些机密数据最终出现在版本控制提交中的好方法是什么?

我使用 Mercurial(和 Python)。

我一直在考虑:

  • 在提交时自动运行一些敏感数据检查脚本,如果发现某些特定字符串(看起来并不简单,需要维护敏感字符串),该脚本就会中止,
  • 将机密数据存储在其他地方(在哪里?,如何实际导入/使用它们?)。
  • 使用测试分支(但并没有真正解决问题)
  • 提供机密数据作为命令行参数(太不切实际)

Some of my programs require some confidential data (authentication mainly) to work properly.
I often put my own credentials in the main() of the sourcecode when developing and testing to see if my code works, and remove them when all is OK. However, it's easy to forget removing them.

What is a good approach to prevent these confidential data from ending up in a version control commit?

I use Mercurial (and Python).

I've been thinking of:

  • automatic running some sensitive-data checking script on commit, which aborts if it finds some specific strings (doesn't seem fool proof, requires maintaining the sensitive strings)
  • storing the confidential data somewhere else (where?, how to practically import/use them?).
  • using a testing branch (but doesn't really solve the problem)
  • providing the confidential data as command line arguments (too unpractical)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无远思近则忧 2024-11-16 06:55:25

将身份验证数据之类的内容放入配置文件中,然后将该配置文件添加到 VCS 中的忽略文件集中(在 Mercurial 中,即 .hgignore)。

Put things like authentication data in a config file, then add that config file to the set of ignored files in your VCS (in Mercurial, that's .hgignore).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文