4e84257ed83972fd2030044a4c5cf1a68a3ddd91
测试人员反馈:激活流程进入「设置密码」步骤时,密码框内已出现 123456(用户未做任何输入)。
取证结论 —— 前端源码不存在任何向密码框写值的赋值点:
- step3Form.password 初值为空,密码框只有 v-model、无 :value 绑定
- 全站唯一 .password = 赋值点是 Login.vue 的清空逻辑
- git log -S "123456" -- Activate.vue 显示该字面量历史上仅出现一次,
且是 d16c261 新增的 placeholder 文案,从无任何版本把它当默认值
=> 残留只能来自浏览器密码管理器自动填充(测试账号默认口令恰为 123456,
浏览器保存后会在同源同类表单上回填)
治法(行为级保证,不依赖成因判定):
- 新增 utils/passwordField.js:purgeAutofilledPasswords()
仅在表单模型为空时才清 DOM 密码框并同步 v-model,绝不覆盖用户真实输入
- Activate.vue / ForgotPassword.vue 对称改造:
1) placeholder 去掉 123456,弱口令示例移到独立 .pwd-tip 提示行
2) 新增 enterStep3():清空密码字段 -> 进第三步 -> DOM 挂载后再兜底清一次
3) 第三步 el-form 增加 autocomplete="off"
验证:
- TDZ 静态门禁 verify_frontend_tdz.mjs PASS
- deploy/build-frontend.sh EXIT=0(入口 assets/index-DwFQsYjy.js)
- 部署后线上核验:入口 hash 与本地一致、关键 chunk 全 200、
旧 chunk 全部保留(新旧共存,无缓存期 404)、gzip_static 命中预压缩产物、
线上 Activate chunk md5 与本地构建逐字节一致
Description
No description provided
Languages
Vue
77.3%
JavaScript
20.9%
CSS
1.5%
HTML
0.3%