【问题标题】:Hiding mysql connection datas on Git repository在 Git 存储库中隐藏 mysql 连接数据
【发布时间】:2012-08-07 20:47:45
【问题描述】:

我在 Github 上有一个公共存储库。这是一个在线网络服务。我们只想分享我们的网络服务的源代码。我们将所有连接数据和函数存储在connect.php 文件中。并在必要时将其包含到其他文件中。我们希望对除存储库合作者之外的所有访问者隐藏此文件。

有可能吗?还是有其他方法?

【问题讨论】:

    标签: git security github


    【解决方案1】:

    您要做的是阻止 Git 跟踪文件更改。

    1. 将任何敏感字符串从connect.php 移动到一个名为config.php 的新文件中
    2. 填写示例字符串
    3. connect.php 中包含config.php
    4. 提交到 Git
    5. 使用git update-index --assume-unchanged <file> 停止跟踪此文件的更新。
    6. 使用生产字符串更新文件
    7. 如果您需要再次跟踪更改,请使用git update-index --no-assume-unchanged <file>

    【讨论】:

    • 我们将其存储在connect.php 文件中,并在必要时将其包含到其他文件中。我可以将connect.php 文件添加到.gitignore 但这将忽略它以进行提交。我的意思是,我们的 connect.php 文件不会提交并推送到 GitHub。因此,其他协作者无法看到该文件。
    • 您可以将任何敏感字符串拆分为新的包含文件。将此文件的示例版本上传到 Git,以便人们知道如何为他们的服务器配置它。后记你只是不提交你的生产版本
    • git update-index --assume-unchanged <file> 这正是我需要的!谢谢@NSjonas。
    【解决方案2】:

    在您的文件夹中放置一个名为 .gitignore 的文件,其中包含您要忽略的文件的名称!

    【讨论】:

    • 但这会忽略它的提交。我的意思是,我们的 connect.php 文件不会提交并推送到 GitHub。因此,其他协作者无法看到该文件。
    • 我明白你的意思。那时我不知道,但我认为我的方法仍然有效。正如 NSjonas 所说,您将为配置文件提交一个模板,您的开发人员将拥有该文件的静态版本。毕竟,它可能永远不会改变。
    猜你喜欢
    • 2013-07-12
    • 2015-09-11
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 2017-04-06
    相关资源
    最近更新 更多