常用的开源平台 GitHub Pages 比较受欢迎,其要求公开仓库才允许公开访问。但仓库公开后,一些标记为草稿的文章也可以从 Git 仓库访问到。
开源博客可能会泄露个人信息,以下是一些常见的信息泄露关键词,欢迎评论补充。
中文敏感词:
英文关键词:
正则搜索:
(密码|账号|身份证|银行卡|支付宝|微信|手机号|家庭住址|工作单位|社保卡|驾驶证|护照|信用卡|username|password|passwd|account|key\s*:|\.ini|credential|card|bank|alipay|wechat|passport|id\s*:|phone|address|company|jwt)
如果使用 VSCode 作为博客编辑器,可以使用正则搜索快速进行全站搜索,检查可能泄露信息的位置。
Git 历史可能包含信息泄露,通过简单的脚本即可扫描开源博客的历史提交信息。
如果是自己的仓库,可以通过以下方式清除历史。如果需要保留历史信息,则不要清除。
请务必确认理解命令含义,谨慎操作,操作前请备份重要数据。
git reset --soft ${first-commit}
git push -f
1
deplives 36 天前
还好我的主仓库是私有的
|
2
lazyyz 36 天前
确实需要注意隐私安全
|
3
mouyase 36 天前
建议把仓库设置为私有
|
4
googlefans 36 天前
文章中为啥要留下这些敏感个人信息呢
|
5
littlewing 36 天前
为什么要把这些信息 commit 到 git 仓库呢
|
6
jqknono OP @googlefans 比如技术博客分享的脚本
|
7
jqknono OP @littlewing 被提交到 git 的除了 feature 还有 bug
|
8
lry 36 天前 1
还好我用的是 private repo + cloudflare page
|
9
coolcoffee 36 天前
楼上 cloudflare page 是一种方式,通过私有仓库 action build 到公开仓库也是一种方式。
当然最直接的还是付费 Github Pro ,直接支持私有仓库发布 Pages 。 |
10
ryan4yin 36 天前
可以用一些脚本辅助,但最主要的还是自己要养成良好的安全习惯,写博客时自己就应该时刻注意这些。
|
11
Irilsy 36 天前
原来 github page 必须得公开仓库吗,还是学生一直都有学生包,完全没意识到。
|
12
SculptureSand 36 天前 via Android 1
刚好最近刷到一个专门用于检测密钥泄漏的项目
https://github.com/trufflesecurity/trufflehog |
13
cosette 35 天前 8
公开仓库的 force push 没用,GitHub 有 activity (看网页的右侧边栏),我觉得可能很多人都没注意到这个功能,你的每一次最近操作都会存档。
如果真的不小心推送了敏感信息,应该联系 GitHub 客服处理,不要觉得重置了 commit history 就万事大吉了,GitHub 不止是 git 。 |
14
cosette 35 天前 1
如果使用 hugo 等静态博客系统,一种折中的方案是本地编译后把 public 文件夹内的产物上传到 GitHub 即可,这个 public 默认不会包括 drafts 。
|
15
Int100 35 天前
GitHub Pages 必须公开仓库????
我这从来都是 private repo ,一样用啊 |
16
Int100 35 天前
GitHub Pro 可以解决这个问题
|
17
imgradeone 35 天前 via Android
@Irilsy 具体来说是,私库要开 GitHub Pages 就必须开 GitHub Pro ,学生包刚好有 Pro 的功能
|
18
liuidetmks 35 天前 via iPhone
一般是把 html 和 markdown 分为两个仓库
|
19
bruce0 35 天前
我都是两个仓库, page 用一个 public 的仓库, 我自己写 Markdown 的在一个 private 仓库,通过 ci 自动发布到 public 的仓库
|
21
lisxour 35 天前
pages 就不是这么给你们玩的
|
22
gpt5 35 天前
充值即可
|
23
E263AFF275EE4117 35 天前
@liuidetmks @bruce0 我在思考一个问题,就是说 Markdown 在私有仓库,页面的 Page 发布到公开仓库,否可以通过克隆你 Page 的公开仓库,从而把已发布的 Page 页面搬迁到我的站点去,从而使得你之前编辑的文档博客,我自己也能发布一份,从而窃取你的知识内容。
但是我也进入一个悖论,及时我通过 GitHubPro 的私有仓库发布的 Page 页面,在互联网上也是公开的,不存在说知识内容的不可见。只是一个区别,我的 Git 提交的 history 历史记录对外不可见。 |
24
gledos 35 天前
@lisxour You can use GitHub Pages to showcase some open source projects, host a blog, or even share your résumé.
GitHub 官网是这么说的: https://docs.github.com/en/pages/quickstart |
25
BadFox 35 天前
hexo 的做法好像是本地渲染成 html 再上传。
|
26
BadFox 35 天前
@E263AFF275EE4117 偷文章的情况很常见的,独立 blog 经常碰到这种情况。
|
27
jqknono OP @E263AFF275EE4117 写博客就是为了分享, 一起讨论成长, 不要吝惜自己的知识, 我写这篇就是觉得这么点关键词远远不够, 在评论里学到了很多. 多数时候个人的知识肯定比不上群体的知识, 把自己有限的知识当作珍宝只会变得狭隘. 更何况天下文章一大抄, 又有几篇是原创.
|
28
ifwww 35 天前
直接把源码推到私有仓库然后用 vercel 自动云端渲染就好
|
31
Libby520 35 天前 1
我刚刚把几年前的东西全新部署了一个博客,用的是开源的 Textpattern ,不知道有没用你说的风险
http://www.dutype.com/ |
33
bruce0 35 天前
@E263AFF275EE4117 不同克隆我的 page 仓库都能窃取内容, 直接用爬虫爬我的博客就行, 怎么说呢, 能分享出来的东西就不怕别人窃取, 如果爬被别人窃取的东西就别分享出来.
我最烦的就是 自己写一篇文章, 还要关注公众号才能阅读全文, 虽然说这是他的权利,就是有点烦人,还不如直接付费阅读算了 |
35
dfkjgklfdjg 35 天前
之前在考虑自动部署的时候就考虑到了,所以没有用单仓库自动部署的方式。
而是一个私有仓库来管理 md 文件,私有仓库推送时自动编译在把编译的 SSG 产物同步到公共仓库,来更新 Github Pages 的形式。 |
36
E263AFF275EE4117 35 天前
|
37
fengpan567 35 天前
之前公司的测试同时把 aws 的秘钥传到 github 上,被刷了十几万
|
38
windcode 35 天前
我是这么玩的:blog repo 设置为 private + vercel 自动发布新内容,其中还没准备好的内容通过类似 draft: true 这样的 markdown frontmatter 控制是否公开。
博客文章内容编辑使用 Obsidian 或者 Cursor ,这样 写博客和记笔记 的行为就完全一致,只不过写博客多了个将 draft: true 去掉的步骤。 |
39
xcsoft 35 天前
还好我是 Vercel + Bitbucket
|
40
lveye 35 天前
有个简单的方案可以解决这个问题:利用 git Hooks 脚本机制,预提交钩子( pre-commit ):可以检查代码规范,禁止提交不合格代码。比如下边这样,vi .git/hooks/pre-commit
``` #!/bin/sh # 检查是否有不符合正则的代码 invalid_code=$(git diff --cached --name-only --diff-filter=ACM | grep '\.go$' | xargs -I {} grep -Hn -E "不允许的正则" {}) if [ -n "$invalid_code" ]; then echo "提交失败:发现不符合要求的代码" echo "$invalid_code" exit 1 # 返回非零状态,阻止提交 fi exit 0 # 返回零状态,允许提交 ``` |
41
Songxwn 35 天前
Github 私有仓库+ cloudflare
|
43
jqtmviyu 35 天前
我是 hugo markdown 在私有仓库, action 发布到公开仓库. 没这个问题.
|