Git - 删除项目文件中的敏感信息

时间:2015-04-11 20:03:29

标签: git github

我有一个连接到我的游戏数据库的脚本。现在这个脚本有数据库用户名和密码,我想从github repo中隐藏这些信息。我想把代码放在github上。但我很懒,不喜欢在我的代码中混淆密码字段。因为我不希望我的本地仓库和远程仓库不同步。有没有办法在提交时隐藏这些字段。

2 个答案:

答案 0 :(得分:1)

如何让脚本从配置文件中读取密码,并且不提交或提交虚拟配置文件?我自己使用的Python脚本需要将自己连接到外部数据库。

答案 1 :(得分:0)

您可以考虑将密码放在本地文件中,放在应该运行游戏的计算机上。

  • 确保该文件位于浏览器的htdocs目录之外,但仍可由Web服务器用户(例如apacheuser)读取。这将允许任何人通过文件的URL查看密码文件,这将是不安全的。但是这仍然允许您的脚本(可能通过Web服务器运行)访问本地文件。当然,它应该位于您与github存储库保持同步的代码文件树之外。

  • 将要隐藏的密码从github放入该目录。为了增强安全性,请考虑使用加密机制。在服务器上使用普通密码可能存在安全风险。确保文件是安全编码的(最好是utf-8)并检查周围没有换行符。如果有,并且您无法摆脱它,则需要在使用之前从密码变量中删除\n

  • 在您的脚本中,在首次需要密码之前包含此代码或等效代码(python中的示例):

    pwstring = str()
    with open('passwordfilepath', r) as pwfile:
       pwstring = pwfile.read()
    
  • 在此之后,您可能想要删除换行符。例如,您可以使用以下内容:

    pwstring = pwstring.rstrip('\n')
    

    此外,如果您选择保存加密密码,则需要添加解密功能或类似功能。