> For the complete documentation index, see [llms.txt](https://docs.chamilo.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chamilo.org/3.x/zh/guan-li-zhi-nan/admin-guide/security/simple-ids.md).

# 简易 IDS

Chamilo 内置了一套轻量级的应用内入侵检测系统（IDS）。它对每一次请求扫描 URL 查询参数、请求路径以及若干请求头（`User-Agent`、`Referer`），以识别常见攻击特征——例如 XSS 载荷或路径遍历模式——并记录任何可疑内容。Simple IDS 页面供您查看系统已标记的内容。

请求**正文**故意不扫描，以避免富文本编辑器内容产生误报（课程文本中合法包含类似 HTML/JavaScript 的标记）。

## 访问 Simple IDS

在管理面板中，单击 **安全 > Simple IDS**。

## 显示内容

* **按日事件（最近 7 天）**、**按类型事件（最近 30 天）** 以及 **主要攻击 IP（最近 30 天）** — 汇总图表
* **已标记 IDS 事件表格** — 每条记录显示日期、源 IP、检测类型（例如 `XSS`）、受影响参数、请求 URI，以及对所检测内容的简短说明

使用图表上方的 **IP**、事件类型和日期范围筛选器缩小结果范围。

## 工作原理

* 每个请求在进入时被扫描；匹配项会追加到 `var/logs/ids/ids_events.log`
* 在响应发出时，同一订阅者会向响应添加 OWASP 推荐的安全头
* 若启用拦截，匹配特征的请求会立即以 HTTP 400 响应终止，而不会到达您的应用代码

## 配置

Simple IDS 由环境变量控制，在 `config/packages/chamilo_ids.yaml` 中设置：

| 变量                     | 用途                               |
| ---------------------- | -------------------------------- |
| `IDS_ENABLED`          | 开启或关闭请求扫描与日志记录                   |
| `IDS_BLOCK`            | 启用时，被检测的请求会被拒绝（HTTP 400），而不仅仅是记录 |
| `IDS_SECURITY_HEADERS` | 控制是否添加 OWASP 推荐的响应头              |

这是一套轻量级、尽力而为的检测器，旨在捕获明显的扫描与利用尝试——它不能替代高风险部署中专用的 Web 应用防火墙（WAF）。
