背景与价值剪贴板与下载涉及隐私与执行风险。统一权限与MIME治理可防止越权与恶意载荷。统一规范权限限制:默认禁止 `clipboard-write` 与未授权的下载触发。MIME治理:统一白名单与 `nosniff`,强制下载附件。文件名与路径:归一化并限制扩展,避免可执行。核心实现响应头治理type Res = { setHeader: (k: string, v: string) => void } function setPolicy(res: Res) { res.setHeader('Permissions-Policy', 'clipboard-write=(), geolocation=()') res.setHeader('X-Content-Type-Options', 'nosniff') } MIME与下载const allow = new Set(['application/pdf','text/plain']) function validMime(m: string): boolean { return allow.has(m) } function setDownload(res: Res, filename: string) { const enc = encodeURIComponent(filename) res.setHeader('Content-Disposition', `attachment; filename*=UTF-8''${enc}`) } 落地建议以权限策略默认禁用剪贴板写入与不必要的强权限,按页面例外开启。下载时统一设置 `Content-Disposition: attachment` 并校验MIME与扩展。路径与文件名归一化并采用安全白名单,拒绝潜在可执行类型。验证清单是否统一下发 `Permissions-Policy` 与 `nosniff`。下载是否为附件且MIME在白名单内。

发表评论 取消回复