V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ciming
V2EX  ›  问与答

有没有办法 github 提交的时候自动把敏感信息替隐藏掉?

  •  
  •   ciming · 2021-06-23 18:01:56 +08:00 · 1180 次点击
    这是一个创建于 1037 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如代码中包含一些账号、密码或者 key 等等信息,提交 git 上去的时候把这些东西移除掉或替换成注释什么的。

    5 条回复    2021-06-23 21:49:40 +08:00
    XiLingHost
        1
    XiLingHost  
       2021-06-23 18:07:51 +08:00
    试试先内网跑一遍 SonarQube,用这个插件 https://github.com/Skyscanner/sonar-secrets
    mschultz
        2
    mschultz  
       2021-06-23 18:10:05 +08:00   ❤️ 6
    问题是假如有这样一个自动化工具,它怎么知道你代码里哪些信息是敏感的呢?即使有,你如何信任它能够不遗漏地剔除了 100% 的敏感信息呢?

    一个手动且初级的做法是,将敏感信息放在单独的配置文件中(比方说叫 credentials.conf ),然后将这个配置文件加入 gitignore 。程序读取这个配置文件获取敏感信息。
    同时,可以创建一个 credentials.sample.conf 且不 ignore,用于提示其他开发者这个文档的样例格式。

    可能有更好的管理方案,我在此抛砖引玉😂
    littleylv
        3
    littleylv  
       2021-06-23 18:26:55 +08:00
    正确的做法应该是,敏感信息只放在配置文件,不在业务代码里处理。而配置文件加入 gitignore,使用另一个配置文件 sample 来提交

    例如:
    config.conf 文件( gitignore )
    db_username:abcd (这里可以写真实的敏感数据)
    db_password:efgh (这里可以写真实的敏感数据)

    config_sample.conf 文件(提交 git )
    db_username:USERNAME (这里是一个代号)
    db_password:PASSWD (这里是一个代号)
    potatowish
        4
    potatowish  
       2021-06-23 19:31:46 +08:00 via iPhone
    代码中不要直接包含账号密码信息,放在配置中心
    oneisall8955
        5
    oneisall8955  
       2021-06-23 21:49:40 +08:00 via Android
    同 2 楼

    config.yml.template
    config.yml

    gitignore 加入 config.yml 提交只提交 template
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3528 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:50 · PVG 12:50 · LAX 21:50 · JFK 00:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.