浅念 678d215b31 fix: 采集接口 origin urlsplit/finalize_response 信封/CL 防御
审查三项必修:
1. Origin host 提取改 urlsplit(封堵 https://evil.com/?x=https://www.a.com
   类查询串绕过);"null" Origin 视为无 host 走 allow_no_origin;
   Referer 回显死逻辑一并清理,ACAO 只回显真正的 Origin 头。
2. finalize_response 统一钩子:429/ParseError 等 DRF 异常响应补 ACAO +
   {code,data,message} 信封(浏览器 SDK 需读错误体,误判网络错误重试会
   打爆限流器);删 post/_deny/options 三处临时加头代码。
3. Content-Length isdecimal 防御("abc" → 400 非 500;isdigit 放过 "²"
   而 int("²") 仍崩,isdecimal 与 int() 可解析集精确对齐)。

锁定测试 ×4:429 信封+ACAO / 坏 JSON 信封+ACAO / 查询串绕过 403 / 畸形 CL 400。

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-15 13:24:31 +08:00
S
Description
访客管理+js插件
8.3 MiB
Languages
TypeScript 38.3%
Vue 38%
Python 18%
SCSS 4.3%
Shell 0.5%
Other 0.8%