32 行
669 B
Markdown
32 行
669 B
Markdown
# template-injection-guard
|
|
|
|
> `LAB ONLY` | 修复主题页
|
|
|
|
- 语言: `csharp`
|
|
- 主题: `template-injection-guard`
|
|
- 说明: 模板上下文中禁用危险表达式执行。
|
|
- 典型场景: 适用于 SSR、模板引擎、邮件渲染和后台自定义视图。
|
|
|
|
## 脆弱示例
|
|
|
|
```cs
|
|
return Content($"<div>{value}</div>", "text/html");
|
|
```
|
|
|
|
## 更安全的写法
|
|
|
|
```cs
|
|
return Content($"<div>{HtmlEncoder.Default.Encode(value)}</div>", "text/html");
|
|
```
|
|
|
|
## 检查清单
|
|
|
|
- 明确输入边界与不可信来源
|
|
- 在服务端或可信封装层统一做校验/转义/约束
|
|
- 对关键路径补充自动化测试和依赖升级策略
|
|
|
|
## 相关系统
|
|
|
|
- Angular
|
|
- Vue
|