Skip to content

[security] 全站缺失安全响应头(CSP / HSTS / X-Frame-Options / Referrer-Policy) #374

Description

@Mira190

背景

全仓扫描确认:next.config.mjsproxy.tsvercel.json 均未配置任何安全响应头。当前生产站点没有 CSP、HSTS、X-Frame-OptionsReferrer-PolicyPermissions-Policy

风险:站点可被任意 iframe 嵌套(clickjacking);XSS 一旦发生无 CSP 兜底;评论区(Giscus)、AI 助手(BYO key 存 localStorage)等交互面放大影响。

方案

next.config.mjsheaders()

  1. 第一批(无破坏风险,直接上):X-Frame-Options: SAMEORIGINX-Content-Type-Options: nosniffReferrer-Policy: strict-origin-when-cross-originPermissions-Policy(关 camera/mic/geolocation)、HSTS。
  2. 第二批(CSP,需先盘点):先以 Content-Security-Policy-Report-Only 上线观察一周(站内脚本源:GA / Umami / Giscus / Sentry / R2 图源),无误报后切强制。不要一步到位上强制 CSP,Giscus iframe 和内联 theme script 很容易被误杀。

验收

  • securityheaders.com 评级 ≥ A-
  • Giscus 评论、AI 助手、Umami/GA 上报、Sentry 全部正常
  • pnpm build 前后路由表 diff 无变化(headers 不影响 SSG)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions