31 行
604 B
Markdown
31 行
604 B
Markdown
# dom-sink-hardening
|
|
|
|
> `LAB ONLY` | 修复主题页
|
|
|
|
- 语言: `python`
|
|
- 主题: `dom-sink-hardening`
|
|
- 说明: 限制 `innerHTML`、模板拼接和 DOM sink 的直接写入。
|
|
- 典型场景: 适用于前端模板拼接、Markdown 渲染器和富文本预览逻辑。
|
|
|
|
## 脆弱示例
|
|
|
|
```py
|
|
return f"<div>{value}</div>"
|
|
```
|
|
|
|
## 更安全的写法
|
|
|
|
```py
|
|
return f"<div>{escape(value)}</div>"
|
|
```
|
|
|
|
## 检查清单
|
|
|
|
- 明确输入边界与不可信来源
|
|
- 在服务端或可信封装层统一做校验/转义/约束
|
|
- 对关键路径补充自动化测试和依赖升级策略
|
|
|
|
## 相关系统
|
|
|
|
- React
|