背景与价值JSONP易被利用进行跨域数据窃取。禁用JSONP并使用标准CORS可提升安全性与可控性。统一规范禁用callback:拒绝 `callback/jsonp` 参数。统一类型:仅返回 `application/json` 与 `nosniff`。CORS白名单:按受控来源与方法/头治理。核心实现禁用JSONP与统一类型type Req = { url: string } type Res = { setHeader: (k: string, v: string) => void; status: (n: number) => Res; end: (b?: string) => void } function hasJsonp(url: string): boolean { return /[?&](callback|jsonp)=/i.test(url) } function sendJson(res: Res, body: any) { res.setHeader('Content-Type', 'application/json; charset=utf-8') res.setHeader('X-Content-Type-Options', 'nosniff') res.end(JSON.stringify(body)) } function handle(req: Req, res: Res) { if (hasJsonp(req.url)) return res.status(400).end('jsonp_disabled') sendJson(res, { ok: true }) } 落地建议全面禁用JSONP与callback参数,统一采用安全CORS策略与JSON响应。验证清单是否拒绝JSONP参数;是否统一返回安全JSON类型与nosniff。

发表评论 取消回复