背景与价值Worker执行独立上下文,需限制脚本来源与入口以防跨站执行与数据外泄。统一规范同源策略:默认仅允许同源脚本。白名单:按受控CDN与版本化路径允许特定Worker脚本。入口校验:限制创建入口与参数范围。核心实现CSP头设置与安全创建type Res = { setHeader: (k: string, v: string) => void }

function setWorkerCsp(res: Res, endpoints: string[]) { res.setHeader('Content-Security-Policy', `worker-src 'self' ${endpoints.join(' ')}`) }

function createWorker(url: string): Worker | null {

try {

const u = new URL(url, document.location.origin)

const allow = new Set([document.location.origin])

if (!allow.has(u.origin)) return null

return new Worker(u.pathname)

} catch { return null }

}

落地建议设置worker-src为同源并对外部端点白名单;安全创建Worker并校验URL来源。验证清单是否下发worker-src白名单;Worker创建URL是否同源或受控域。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部