核心实现原理:不是记住,而是'提示填充'
我们在访问网站时,常看到登录页有'记住密码'的选项。很多人误以为这是前端直接存了密码,其实不然。
前端的'记住密码'通常不存储明文密码,而是请求浏览器将账号密码保存到其密码管理器中。下次检测到对应登录表单时,浏览器会自动或提示用户填充。
流程大致如下:首次登录勾选'记住我'并提交 -> 服务器验证成功 -> 浏览器弹出保存提示 -> 用户确认后加密存储凭证 -> 再次访问时自动识别表单并填充。
技术实现方案详解
方案一:依赖浏览器原生行为(最常用)
这是最标准、最安全的做法。浏览器的密码管理器会自动识别符合规范的登录表单。
基础表单要求
<form id="login-form" method="post">
<!-- 关键:input 的 type 和 name 需规范 -->
<input type="text" name="username" id="username" autocomplete="username">
<input type="password" name="password" id="password" autocomplete="current-password">
<!-- '记住我'复选框 -->
<label>
<input type="checkbox" name="remember-me" id="remember-me"> 记住密码
</label>
<button type="submit">登录</button>


