阅读 107

github上传了隐私数据怎么办

前言

  • 心血来潮准备将自己的项目开源出去,上传github后发现被攻击了。原因是因为自己的配置文件也误操作上传到github了。别人就通过配置文件发现你的账号信息了。

  • 针对已经上传了的文件,即使我们改过来了git提交历史里还是有我们的信息的。那么该如何操作呢?

BFG

  • 点我下载

    • 官网的介绍就是repo-cleaner,仓库清洁工。她的功能就是清楚我们的文件的提交历史。让钻漏洞的人无法追踪记录。

image-20220105113119083

使用说明

  • 关于BFG的使用很简单的,我们只需要先将待去除的仓库拉取下来

git clone --mirror git-repo

  • 关于mirror 大家可能了解比较少,她是对仓库的一次完整复制,但是并不是对源文件的100%展现。

移除大文件

java -jar bfg.jar --strip-blobs-bigger-than 100M xxxx.git 复制代码

移除指定文件

java -jar bfg.jar --delete-files application.yml xxx.git 复制代码

后续处理

image-20220105113604442

  • 我们能够看出来有个仓库的文件。

cd three-party.git 复制代码

  • 然后执行如下

git reflog expire --expire=now --all && git gc --prune=now --aggressive 复制代码

  • 最终git push

image-20220105114246156

案列

删除所有id_rsa ,id_dsa

$ bfg --delete-files id_{dsa,rsa}  my-repo.git 复制代码

移除所有大于50M文件

$ bfg --strip-blobs-bigger-than 50M  my-repo.git 复制代码

移除仓库中所有出现密码的地方

$ bfg --replace-text passwords.txt  my-repo.git 复制代码

从其他版本控制中迁移过来的时候会出现问题,移除git关键词

$ bfg --delete-folders .git --delete-files .git  --no-blob-protection  my-repo.git 复制代码

总结

  • 一定要注意在提交代码时将关键私密信息删除,如果不小心上传了就得用工具将替换掉,并且提交记录也要覆盖掉。我就是因为之前不小心上传上去后,数据库被别人轻易登陆成功删除我的所有数据。


作者:zxhtom
链接:https://juejin.cn/post/7054410718921097224


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐