fix(audit): qrcode 路径排除出审计采集(与 IRIS 实例对齐)
qrcode 端点刻意不加鉴权(前端走 <img src> 引用,无法携带 Authorization 头),
而 /api/v1/products/qrcode/{sn} 命中 _TRACKED_READ_PREFIXES 里的 /api/v1/products
前缀、又不是 bare list,会被判成「查看详情」逐条留痕 —— 列表页一次渲染就并发
拉几十张图,审计日志会被塞满,真正有价值的操作反而被淹没。
该端点不含业务数据(只把调用方给的序列号渲染成二维码图片),排除掉没有审计
价值损失。IRIS 实例今日已做同样处理,此处对齐,避免两边行为不一致。
实测:二维码正常加载;审计中不再出现 qrcode 记录。
This commit is contained in:
@ -56,7 +56,19 @@ _TRACKED_READ_PREFIXES = (
|
||||
)
|
||||
|
||||
# 永久忽略的路径前缀
|
||||
_IGNORED_PREFIXES = ("/health", "/docs", "/redoc", "/openapi.json")
|
||||
#
|
||||
# 两类内容:
|
||||
# 1. 探针与文档(/health、/docs…)—— 噪声没有审计价值
|
||||
# 2. 图片类端点(/api/v1/products/qrcode)—— 走 <img src> 加载,且该端点
|
||||
# 刻意不加鉴权(见 endpoints/products.py 的说明)。路径命中
|
||||
# _TRACKED_READ_PREFIXES 的 /api/v1/products 前缀、又不是 bare list,
|
||||
# 会被判成「查看详情」逐条留痕:一次列表页渲染就并发拉几十张图,
|
||||
# 逐条留痕会把审计日志塞满,真正有价值的操作反而被淹没。
|
||||
# 它也不含业务数据(只把调用方给的序列号渲染成二维码图片)。
|
||||
_IGNORED_PREFIXES = (
|
||||
"/health", "/docs", "/redoc", "/openapi.json",
|
||||
"/api/v1/products/qrcode",
|
||||
)
|
||||
|
||||
# 路径段 → 审计模块
|
||||
_PATH_MODULE: dict[str, str] = {
|
||||
|
||||
Reference in New Issue
Block a user