Skip to content

5.3.4 初学者的安全检查清单

经过本节学习,你将获得:

  • 一份可立即使用的安全检查清单
  • 不同场景下的检查要点
  • 快速检查的实用技巧

提交代码前检查清单

每次准备将代码上传到 GitHub 或其他平台之前,请检查:

  • [ ] 没有硬编码密钥:代码里没有任何真实的密码、API 密钥或 Token
  • [ ] .env 已被忽略.env 文件已加入 .gitignore
  • [ ] 没有敏感日志console.log 或调试语句中没有输出敏感信息
  • [ ] 没有测试数据泄露:测试代码中没有使用真实的用户数据或密钥

部署前检查清单

在将项目部署到互联网之前,额外检查:

  • [ ] 环境变量已配置:部署平台上已正确设置所有需要的环境变量
  • [ ] 调试模式已关闭:生产环境没有开启 debug 模式
  • [ ] 错误信息已简化:错误页面不会暴露详细的技术信息
  • [ ] HTTPS 已启用:网站使用 HTTPS 而非 HTTP

定期检查清单

每隔一段时间(比如每月),回顾一下:

  • [ ] 密钥是否需要轮换:长期使用的密钥是否应该更换
  • [ ] 依赖是否需要更新:项目使用的库是否有安全更新
  • [ ] 权限是否合理:API 密钥的权限是否只包含必要的范围

快速检查技巧

方法一:搜索敏感关键词

在你的代码编辑器中,使用搜索功能查找这些关键词:

password
secret
api_key
apiKey
token
sk-
pk-
AKIA
-----BEGIN

如果搜索结果中出现了看起来像真实密钥的内容(而不是 process.env.XXX 这样的引用),就需要处理。

方法二:检查即将提交的文件

如果你使用 Git,在提交前运行:

bash
git diff --cached

这会显示你即将提交的所有更改。快速扫一眼,确认没有敏感信息。

方法三:检查 .gitignore 是否生效

确认敏感文件确实被忽略了:

bash
git status

如果 .env 文件出现在列表中,说明它没有被正确忽略。

常见问题处理

问题:我已经不小心提交了 .env 文件

解决步骤

  1. 首先,立即更换所有泄露的密钥(这是最重要的)
  2. .env 加入 .gitignore
  3. 从 Git 追踪中移除该文件(但不删除本地文件):
    bash
    git rm --cached .env
  4. 提交这个更改:
    bash
    git commit -m "移除敏感文件"

重要提醒

即使你删除了文件,Git 历史中仍然保留着它。如果仓库是公开的,密钥已经泄露。

必须更换密钥,没有例外。

问题:我不确定某个字符串是不是密钥

判断标准:

特征可能是密钥可能不是密钥
长度较长(20+ 字符)较短
内容看起来随机的字母数字有明显含义的单词
前缀有特定前缀如 sk-AKIA普通前缀
位置赋值给类似 API_KEY 的变量普通变量

如果还是不确定,宁可当作密钥处理

养成习惯

安全检查不需要花很多时间。一旦养成习惯,每次提交前花 30 秒扫一眼,就能避免大部分问题。

一个好习惯

每次看到 AI 生成的代码中有类似密钥的长字符串,第一反应应该是:"这是真实密钥还是占位符?"

5.3.5 AI 推荐的库安全吗