1.2 KiB
1.2 KiB
M13-05A:CSP 默认拒绝策略
task:M13-05Aparent:M13-04Jstatus:done
目标
为部署服务器和生产构建统一声明 CSP,拒绝 inline script、eval、data script 和未声明 origin; 所有响应(包括 404)都必须携带相同策略。
输入
- manifest:
tests/golden/M13-04J/manifest.json - 部署合同:
docs/web/deployment-contract.json - 入口与构建:
web/app/index.html、web/app/vite.config.ts
范围
- 做:
default-src/script-src/worker-src/connect-srcsame-origin 约束、object-src/base-uri/frame-ancestors拒绝规则、源代码/构建产物扫描和 HTTP 响应检查。 - 不做:按资源类型拆分 Worker/WASM/font/image/media 策略;交给 M13-05B。
验收
npm --prefix web run test:csp-policy
node tools/web/check-deployment-contract.mjs
npm --prefix web run typecheck
npm --prefix web run build
产物和交接
报告和 manifest 位于 tests/golden/M13-05A/;下一任务由 manifest 的 nextTask 指向 M13-05B。
回滚
恢复部署合同、HTTP 头、checker、报告、manifest、package 命令和状态页;将 M13-04J 恢复为队列尾。