# 安全审计与防护建议 ## 发现与等级 - 外链与配置(Medium) - 外部图片/链接硬编码在源码中;建议迁移到 `runtimeConfig.public.assetBase` 并集中管理。 - 内容与校验(High) - Content Schema 与数据不一致会在构建期暴露为错误或导致运行时空值处理不当。 - 依赖与脚本(Low) - 缺少 `typecheck`/`lint` 脚本,易让问题晚发现。 ## 防护清单 1) 运行时配置(Medium) ```ts export default defineNuxtConfig({ runtimeConfig: { // 仅服务器可见 sentryDsn: '', // 客户端可见 public: { assetBase: 'https://img.tootaio.com', }, }, }) ``` 2) 安全头(建议由网关/Nginx 配置)(Low) - `Content-Security-Policy`(允许必要的域名); - `X-Content-Type-Options: nosniff`、`Referrer-Policy: strict-origin-when-cross-origin`; - 静态资源 `Cache-Control: immutable`。 3) 敏感信息检查(Medium) - 使用 `.gitignore` 与 CI 检查(如 `trufflehog`/`gitleaks`,后续可引入)。 4) 依赖与锁定(Low) - 全量使用 `pnpm-lock.yaml`,CI 中启用 `--frozen-lockfile` 保证可复现构建。