---
title: "5.3.4 初学者安全检查清单"
order: 6
---


![05-advanced_5.3-security_5.3.4-checklist.png](/images/Basic/05-advanced_5.3-security_5.3.4-checklist.png)
# 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 "移除敏感文件"
   ```

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

**必须更换密钥，没有例外。**
:::

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

判断标准：

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

如果还是不确定，**宁可当作密钥处理**。

## 养成习惯

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

::: tip 一个好习惯
每次看到 AI 生成的代码中有类似密钥的长字符串，第一反应应该是："这是真实密钥还是占位符？"
:::

→ [5.3.5 AI 推荐的库安全吗](./5.3.5-slopsquatting.md)
