---
title: CSP导航与表单提交治理(navigate-to/form-action)最佳实践
keywords:
- CSP
- navigate-to
- form-action
- 外跳治理
- 白名单
description: 通过CSP的navigate-to与form-action策略白名单化外跳与表单提交目标,阻断恶意重定向与外域数据泄露。
categories:
- 文章资讯
- 编程技术
---
背景与价值
导航与表单提交是常见外跳路径。CSP的navigate-to/form-action可白名单化目标并阻断恶意外跳。
统一规范
- navigate-to:限制外跳目标域,默认仅允许同源。
- form-action:限制表单提交目标域,默认同源或受控外域。
- 协同治理:结合开放重定向与短链签名策略。
核心实现
头设置
type Res = { setHeader: (k: string, v: string) => void }
function setCspNav(res: Res, navAllow = "'self'", formAllow = "'self'") {
const v = `navigate-to ${navAllow}; form-action ${formAllow}`
res.setHeader('Content-Security-Policy', v)
}
落地建议
- 外跳与表单提交默认同源,必要外域入白名单并审计。
- 与开放重定向治理协同,确保端到端一致的外跳控制。
验证清单
- 是否按白名单下发
navigate-to/form-action;外跳与提交是否被非白名单阻断。

发表评论 取消回复