33 行
692 B
Markdown
33 行
692 B
Markdown
# deserialization-safety
|
|
|
|
> `LAB ONLY` | 修复主题页
|
|
|
|
- 语言: `csharp`
|
|
- 主题: `deserialization-safety`
|
|
- 说明: 避免对不可信数据做危险反序列化。
|
|
- 典型场景: 适用于缓存、任务队列、对象恢复和跨服务消息传递。
|
|
|
|
## 脆弱示例
|
|
|
|
```cs
|
|
return Content($"<div>{value}</div>", "text/html");
|
|
```
|
|
|
|
## 更安全的写法
|
|
|
|
```cs
|
|
return Content($"<div>{HtmlEncoder.Default.Encode(value)}</div>", "text/html");
|
|
```
|
|
|
|
## 检查清单
|
|
|
|
- 明确输入边界与不可信来源
|
|
- 在服务端或可信封装层统一做校验/转义/约束
|
|
- 对关键路径补充自动化测试和依赖升级策略
|
|
|
|
## 相关系统
|
|
|
|
- GitLab CE
|
|
- Jenkins
|
|
- Spring Framework
|