anon-log-flood-batch-cap

20260916-201504 轮 · 看它的历史
[target] http://localhost:20098  容器=wt_h8_tp8
[常量] 日志封顶 MAX=1000(读自 common.php)  批量上限=500(读自 AdmincomController.php)

── G · 匿名上传回报的日志封顶
  ✅ G1 匿名 POST 无参数 → HTTP 200 且 jnc_log 恰好 +1(封顶未触发时的原形态)
       HTTP 200,jnc_log 4 → 5
  ✅ G2 🔴 连打 1001 次 → jnc_log 增量 1000 ≤ 上限 1000(不是线性增长)
       请求 1001 次,jnc_log 4 → 1004(增量 1000)
  ✅ G3 🔴「已记满」汇总行恰好 1 条(不是 0、也不是每次都写)
       本次新增汇总行 1 条
  ✅ G4 🔴 越过上限后再打 20 次 → jnc_log 增量恰好 0(已静默,但请求照常被拒)
       jnc_log 1004 → 1004
  ✅ G4b 守卫:静默之后端点仍然拒绝(不是变成放行)
       响应体应为字面量 false
  ✅ G6 🔴 本次新产生的日志里,HTTP_COOKIE / DOCUMENT_ROOT 出现 0 次($_SERVER 转储已删)
       本次新增泄密行 0 条
  ✅ G7 (静态)全仓日志调用里不再有 $_SERVER 整体转储(含匿名到不了的分支)
       0 处

── G5 · 守卫:合法上传路径
  ✅ G5 🔴 守卫:合法上传回报仍然成功(返回 <url>?scale=LD_F,且 jnc_pic +1)
       响应 https://jnc-main-cd.oss-cn-chengdu.aliyuncs.com/6p40qjry/images/user/0/20260916/v6lcqu30mnl7/e2eupload-710225.
       jnc_pic 1095 → 1096

── G8 · 编辑器鉴权拒绝的日志封顶(另一条链、另一个桶)
  ✅ G8a 匿名打「存在但无权」的 tplid → HTTP 404 且 jnc_log 恰好 +1(封顶未触发时的原形态)
       HTTP 404,jnc_log 1004 → 1005
  ✅ G8b 🔴 连打 1001 次 → jnc_log 增量 1000 ≤ 上限 1000(不是线性增长)
       请求 1001 次,jnc_log 1004 → 2004
  ✅ G8c 🔴「已记满」汇总行恰好 1 条(且用的是编辑器链自己的文案,不是上传链的)
       本次新增汇总行 1 条
  ✅ G8d 🔴 越过上限后再打 20 次 → jnc_log 增量恰好 0(已静默)
       jnc_log 2004 → 2004
  ✅ G8e 🔴 守卫:静默之后端点仍然拒绝(404,不是变成放行)
       HTTP 404

── H · 后台 9 个批量方法的 500 上限(双向)
  ✅ H0 前置:确实以 admin 身份登录(否则下面的「放行」方向是恒真断言)
       会话 adminname=admin
  ✅ H-article_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_article 行数不变
       HTTP 200,文案命中=true,jnc_article 24 → 24
  ✅ H-article_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_article 行数不变
       HTTP 200,成功信号命中=true,jnc_article 24 → 24
  ✅ H-template_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_template 行数不变
       HTTP 200,文案命中=true,jnc_template 371 → 371
  ✅ H-template_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_template 行数不变
       HTTP 200,成功信号命中=true,jnc_template 371 → 371
  ✅ H-usertemplate_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_template 行数不变
       HTTP 200,文案命中=true,jnc_template 371 → 371
  ✅ H-usertemplate_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_template 行数不变
       HTTP 200,成功信号命中=true,jnc_template 371 → 371
  ✅ H-product_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_production 行数不变
       HTTP 200,文案命中=true,jnc_production 95 → 95
  ✅ H-product_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_production 行数不变
       HTTP 200,成功信号命中=true,jnc_production 95 → 95
  ✅ H-jifenproduct_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_improduction 行数不变
       HTTP 200,文案命中=true,jnc_improduction 8 → 8
  ✅ H-jifenproduct_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_improduction 行数不变
       HTTP 200,成功信号命中=true,jnc_improduction 8 → 8
  ✅ H-articleblog_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_articlem9message 行数不变
       HTTP 200,文案命中=true,jnc_articlem9message 8 → 8
  ✅ H-articleblog_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_articlem9message 行数不变
       HTTP 200,成功信号命中=true,jnc_articlem9message 8 → 8
  ✅ H-dd_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_dd 行数不变
       HTTP 200,文案命中=true,jnc_dd 390 → 390
  ✅ H-dd_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_dd 行数不变
       HTTP 200,成功信号命中=true,jnc_dd 390 → 390
  ✅ H-deletealbumpic 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_pic 行数不变
       HTTP 200,文案命中=true,jnc_pic 1096 → 1096
  ✅ H-deletealbumpic 放:恰好 500 个 → 跑完并给出「302」,且 jnc_pic 行数不变
       HTTP 302,成功信号命中=true,jnc_pic 1096 → 1096
  ✅ H-ms3_batch_edit 拒:501 个 → 被拒(页面出现「参数错误」)且 jnc_materialsort3 行数不变
       HTTP 200,文案命中=true,jnc_materialsort3 2306 → 2306
  ✅ H-ms3_batch_edit 放:恰好 500 个 → 跑完并给出「操作成功」,且 jnc_materialsort3 行数不变
       HTTP 200,成功信号命中=true,jnc_materialsort3 2306 → 2306

[清理] 删掉本次探测日志 2000 行,残留 0 行 ✔
  ✅ Z1 🔴 探测日志已清干净
[清理] 删掉 G5 种的 jnc_pic 1 行,残留 0 行 ✔
  ✅ Z2 🔴 G5 种子行已清干净
[清理] 封顶计数器归零:ossreport_reject / editctx_reject —— 残留 0 个
  ✅ Z3 🔴 两个封顶计数器已归零(留着会静音后面的用例)
       清单 2 个(期望 2)/ 残留 0 个(期望 0):BAD=0

========================================================
PASS=35  FAIL=0