密码输入框必须用而非text,找回链接须紧邻密码框且为标签,URL需带ref参数,登录页密码框应设autocomplete="current-password"。

密码输入框必须用 ,别手误写成 text
浏览器对 type="password" 有基础识别能力,能触发密码管理器自动填充、显示“显示/隐藏”小眼睛图标。如果错写成 type="text",即使加了 autocomplete="off",也拦不住用户手动复制粘贴明文密码,更无法唤起系统级密码建议——找回入口的体验就从第一步开始打折。
常见错误:
– 写成
– 或为了“兼容旧浏览器”强行降级为 text + JS 模拟掩码(没必要,IE11 都支持 password)
找回链接必须放在 后紧邻位置,且用
– 或用 href 动态拼接(注意同源限制,跨域时 fallback 到固定路径)
– 后端重置成功后,302 跳转回带参数的原地址,而不是硬编码首页
别在密码框上加 # 干扰找回流程
# 干扰找回流程这个属性本意是告诉浏览器“这是新密码框,请勿自动填充”,但很多浏览器(尤其是 Safari 和旧版 Chrome)会把它和“密码重置页”强绑定,导致用户点“忘记密码?”后,密码管理器突然弹出“生成新密码”浮层,反而掩盖找回表单,引发误操作。
正确策略:
– 登录页的密码框用 /reset-password
– 找回页的新密码框才用 return_url
– 绝对不要在登录页密码框上滥用 ref,它不解决安全问题,只制造干扰
立即学习“前端免费学习笔记(深入)”;
找回功能真正难的不是加个链接,而是确保从点击那一刻起,每一步跳转、参数传递、焦点管理都无缝衔接。最容易被忽略的是 referrer 丢失和 autocomplete 属性误用——这两个点一错,用户就在找回路上卡住三次以上。











