背景与价值剪贴板与下载涉及隐私与执行风险。统一权限与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在白名单内。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部