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

2021-06-23 18:01:56 +08:00
 ciming

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

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

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

可能有更好的管理方案,我在此抛砖引玉😂
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
2021-06-23 19:31:46 +08:00
代码中不要直接包含账号密码信息,放在配置中心
oneisall8955
2021-06-23 21:49:40 +08:00
同 2 楼

config.yml.template
config.yml

gitignore 加入 config.yml 提交只提交 template

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/785372

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX