[BEL] 修复生产模式验证码入口缺失与答案日志泄漏 #138
Closed
opened 2026-08-29 16:09:53 +08:00 by ila
·
4 comments
No Branch/Tag Specified
dev
feat/183-bell-contact-schedule
docs/171-coordination-e2e-wiki
feature/155-coordination-e2e
docs/168-sync-coordination-wiki
feature/154-coordination-deployment
docs/152-153-connectors
feature/153-event-evidence-connector
feature/152-brain-control
docs/151-machine-identity-acceptance
task/151-machine-identity
docs/150-contract-acceptance
docs/148-149-contract-acceptance
feature/149-runtime-status-contract
feature/150-event-evidence-contract
feature/148-source-config-contract
docs/8-mvp-acceptance
feature/145-sense-e2e-isolation-cleanup
feature/134-bell-independent-e2e
feature/142-bell-ui-shell-startup
feature/140-bell-minimal-admin-menu
feature/138-bell-production-captcha
feature/133-bell-alert-lifecycle
feature/132-bell-rule-alert
feature/131-bell-event-receipt
feature/16-brain-local-events
feature/15-brain-rules
feature/14-brain-vision
feature/13-brain-decode
feature/11-brain-input
main
feat/sense-79-ops-alerts
feat/sense-78-outbox
feat/77-sense-media-shards
feat/76-sense-edge-node-status
feat/75-sense-quota-capacity
feature/74-sense-operations
feature/73-sense-local-events
feature/72-sense-bulk-provisioning
feature/113-record-parallel-acceptance
feature/113-sync-parallel-implementation-docs
feature/71-sense-e2e-regression
feature/62-bell-goadmin-skeleton
feature/10-brain-python-cuda-skeleton
feature/108-sync-devharness
feature/90-sense-root-launcher
feature/106-supervisor-sense
fix/101-sense-layout-shell
feature/104-sense-login-30-days
docs/99-acceptance
feature/99-sense-app-config
feature/70-sense-windows-delivery
fix/95-sense-media-path-constraint
feature/97-sense-password-login
docs/92-acceptance
fix/92-sense-capabilities-jsonb
docs/69-acceptance
feature/69-sense-area
feature/68-sense-liveview
feature/67-sense-mediamtx-reconcile
feature/66-sense-onvif-admission
feature/65-sense-device-credential
feature/64-sense-auth-rbac-audit
feature/61-sense-goadmin-source-baseline
docs/acceptance-batch-20260814
coordination/58-finalize-branch-governance
explore
agent/codex/56-sense-device-edit-payload
agent/codex/54-sense-liveview-on-demand
agent/codex/51-sense-auto-liveview
agent/codex/50-sense-split-camera-credentials
agent/codex/48-sense-onvif-digest
agent/codex/46-sense-env-loader
agent/codex/44-sense-empty-navigation
agent/codex/42-sense-password-length-only
agent/codex/40-sense-password-min-6
agent/codex/37-sense-windows-package
agent/codex/36-bell-docs
agent/codex/9-bell-mvp
agent/codex/21-sense-mvp
agent/codex/28-current-prototypes
agent/codex/5-goadmin-baseline
agent/codex/3-go-admin-ui-reuse
agent/codex/1-collaboration-rules
No results found.
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: ila/yovision#138
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
状态
已完成
基本信息
复现与根因
#134 首次隔离包运行证据:迁移和进程清理正常,POST /api/v1/login 返回业务码 400、消息“验证码错误”。开发配置的历史 smoke 免验证码,未覆盖该生产分支。
目标
非目标
已确认行为与方案草案
精确 write_paths
禁止修改其他业务实现、UI、Sense、Brain、contracts、docs 和根级配置。#134 的测试/交付脚本在本缺陷单中只作为复现证据,不取得写权限。
验收标准
风险与回退
文档影响
恢复当前登录页既有行为,不改变长期配置或操作方式;预计无长期 Wiki 影响。若实施发现部署或安全边界变化,先更新工单并重新确认。
用户于 2026-08-29 明确确认方案并要求执行。已从
dev@452cd71035d6a1c2a6059dfd418950045286b1f3创建feature/138-bell-production-captcha;#134 的未提交现场已独立暂存,不会混入本工单。开始按精确write_paths实施。实施进度(2026-08-29):已核对冻结基线
go-admin@f06540883b41d03782bb6b2c4150f298f328c6b6的app/other/router/gen_router.go、app/admin/apis/captcha.go,以及go-admin-doc@424855aacf6905f3fde860c3331385cb25529a0d的docs/intro/advanced/router.md、tutorial0220.md。采用方式:只在 Bell 现有匿名/api/v1组恢复GET /captcha,不恢复其他默认路由;丢弃验证码答案并删除答案日志。验证进度:隔离 PostgreSQL +
mode: prod回归已通过,覆盖 captcha=200、有效验证码登录、错误与重放拒绝、未认证业务 API 拒绝、禁用默认路由 404、密码/验证码/JWT 不进入服务器日志和数据库审计。go test ./... -count=1、go vet ./...、go build ./...、git diff --check均通过。下一步提交并创建回到dev的 PR。实施完成,等待验收
feature/138-bell-production-captchacabc29c18b88218c399a6bb7d506efeef4826d32dev,mergeable)GET /api/v1/captcha;验证码答案不再保留到变量或日志;未恢复其他默认模块。config/settings.yml(mode: prod)通过,结果为captcha=200 valid_login=200 wrong_rejected=true replay_rejected=true secrets_absent=true。go test ./... -count=1、go vet ./...、go build ./...、git diff --check全部通过。sys_login_log或sys_opera_log;未认证 Bell API 仍拒绝,未启用默认路由仍为 404。dev、不关闭 #138。用户于 2026-08-29 明确验收通过。PR #139 已合入
dev,merge commit86c3e79121b9db9239dc7a1062bdd15540e25336;生产验证码入口、一次性校验及敏感日志修复正式进入开发基线。工单关闭,#134 的阻塞解除。无长期 Wiki 变化,未执行 Wiki 同步。