receipt-label-reject.sh
靶子: http://localhost:20098
== F3: set_label 存 raw + 管理端转义 + XSS + 幂等 + JSON raw ==
✓ DB 存 raw 原文
✗ 管理端页转义渲染(<img) (未含 <img src=x onerror=alert(1)>)
✓ 无可执行 raw <img(XSS 堵)
✓ 重存幂等(无累积编码)
✓ DB raw R&D <Plus>
✓ JSON raw(非实体)
== F1(review-fix)空=恢复默认 ==
✓ 空 → DB 无该行(删除)
✓ 空 → JSON 回落默认「购买凭证」
✓ 再置值生效
✓ 再清幂等回默认
== F4 + F1 驳回:直插 status0 行,256拒/255过 + 日志脱敏 ==
✓ seed status 0
✓ F4 256 拒(info=0)
✓ F4 拒因=过长
✓ F4 status 仍 0
✓ F4 255内(含PII)驳回成功
✓ reject→status 3
✓ F1 日志含 reason_len
✓ F1 日志无邮箱明文
✓ F1 日志无税号明文
✓ F1 日志无电话明文
✓ reject_reason 正文仍存业务表
==== e2e-receipt-label-reject: PASS=20 FAIL=1 ====