在公共github存储库和其他敏感数据中隐藏OAuth使用者密钥

dai*_*dai 6 security github

我想公开私有Github repo,但该项目包括OAuth数据(在Twitter身份验证中使用)和数据库MySQL登录详细信息.有没有一种常见的做法可以轻松隐藏价值观,还是我只是在承诺回购时更改它们?我猜这就是我要问的原因,因为我可能会忘记.

Von*_*onC 1

如果您可以重写您的私人存储库的历史记录(由于协作者数量有限),那么最好:

  • 从所有历史记录中完全删除那些敏感数据
  • 将它们存储在“其他地方”(即不在 Git 存储库中,而是在外部源中)
  • 使用内容过滤器驱动程序来管理您的实际敏感文件内容。例如,
    请参阅“处理项目配置文件的最简单方法是什么? ”:

内容过滤器驱动程序

这个想法是,在结账时,根据以下内容生成实际文件:

  • 你的环境
  • 模板文件
  • 值文件(根据您当前的环境,虚拟值可以存储在 Git 存储库中的单独值文件中,也可以是存储在 Git 存储库外部的外部源中的实际敏感值)

更普遍的想法是敏感数据根本不应该存储在 Git 存储库中。