news 2026/6/10 17:54:24

前端如何实现 [记住密码] 功能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
前端如何实现 [记住密码] 功能

前端如何实现“记住密码”功能

“记住密码”功能在现代 Web 应用中仍然非常常见,但由于浏览器安全策略和用户隐私意识的提升,实现方式已经从早期的“明文存 Cookie”演变为更安全、更符合规范的方案。

下面是目前主流的几种实现方式,从简单到推荐的完整说明:

1. 最常见但已不推荐的方式(仅作了解)

方式:用户名 + 密码同时存入 Cookie 或 localStorage

// 登录成功后localStorage.setItem('username',username);localStorage.setItem('password',password);// 明文!极度危险// 下次打开页面自动填充document.getElementById('username').value=localStorage.getItem('username')||'';document.getElementById('password').value=localStorage.getItem('password')||'';

问题

  • 密码明文存储在客户端,极易被窃取(XSS、物理访问、开发者工具等)
  • localStorage 没有过期时间,永久保留
  • 几乎所有安全扫描工具都会标记为高危漏洞

结论2025 年已完全不建议使用这种方式


2. 当前最推荐的合规方案(浏览器原生 + 记住我)

现代浏览器(Chrome、Safari、Edge、Firefox)都提供了密码管理器自动填充功能,前端只需要配合好即可实现“记住密码”。

核心思路

不自己存密码,而是让浏览器记住密码。

前端要做的事:

  1. 使用正确的表单结构,让浏览器识别这是登录表单
  2. 添加autocomplete="on"或更具体的属性
  3. 提供“记住我”复选框(但实际不存密码)
  4. 登录成功后,浏览器会弹出“是否保存密码”的提示
推荐的 HTML 结构
<formid="loginForm"method="post"autocomplete="on"><div><labelfor="username">用户名 / 邮箱</label><inputtype="text"id="username"name="username"autocomplete="username"required></div><div><labelfor="password">密码</label><inputtype="password"id="password"name="password"autocomplete="current-password"required></div><divclass="remember-me"><inputtype="checkbox"id="remember"name="remember"checked><labelfor="remember">记住我(下次自动登录)</label></div><buttontype="submit">登录</button></form>
关键属性说明
属性作用推荐值
autocomplete="username"告诉浏览器这是用户名/邮箱字段username / email
autocomplete="current-password"告诉浏览器这是当前登录密码current-password
autocomplete="on"表单整体允许自动填充on
name="password"必须有 name,浏览器才会识别为密码字段password
浏览器行为
  • 用户第一次登录成功后,浏览器通常会弹出“保存密码?”的提示
  • 用户选择“保存”后,下次访问相同域名时:
    • 用户名/邮箱会自动填充
    • 密码字段会显示“使用保存的密码”或直接填充(取决于浏览器设置)
“记住我”复选框的作用

现在“记住我”更多是心理安慰 + 业务逻辑

  • 勾选了 → 后端返回更长的 session/token 有效期(比如 30 天)
  • 没勾选 → session 短(比如 2 小时或浏览器关闭即失效)

前端不需要自己存密码,只需把这个状态传给后端。


3. 更现代的方案:使用 Credential Management API(推荐高级场景)

浏览器提供的Credential Management API允许网站主动读取/保存用户凭证。

示例代码(保存凭证)
asyncfunctionsaveCredential(username,password){if(!navigator.credentials)return;try{constcred=newPasswordCredential({id:username,password:password,name:username,// 可选,显示在选择器中iconURL:'/logo.png'// 可选});awaitnavigator.credentials.store(cred);console.log('凭证已保存');}catch(err){console.error('保存凭证失败',err);}}
自动获取保存的凭证
asyncfunctionautoFillLogin(){if(!navigator.credentials)return;try{constcred=awaitnavigator.credentials.get({password:true,mediation:'optional'// 可选:显示选择器});if(cred&&cred.type==='password'){document.getElementById('username').value=cred.id;document.getElementById('password').value=cred.password;}}catch(err){console.log('获取凭证失败',err);}}// 页面加载时尝试自动填充window.addEventListener('load',autoFillLogin);

支持情况(2026 年):

  • Chrome / Edge:完全支持
  • Safari:部分支持(限制较多)
  • Firefox:不支持或支持有限

4. 总结:2025–2026 年推荐做法对比

方案安全性用户体验实现难度推荐指数备注
明文存 localStorage/Cookie★☆☆☆☆★★★☆☆不推荐高危漏洞
浏览器原生自动保存(推荐)★★★★★★★★★★★★★★★首选
Credential Management API★★★★★★★★★☆★★★★☆高级场景
后端返回长效 token + HttpOnly Cookie★★★★★★★★★☆★★★★☆适合 App 端

一句话结论

现代 Web 应用中,“记住密码”功能最好的实现方式是:配合浏览器的密码管理器,使用规范的表单结构 + autocomplete 属性,让浏览器来负责记住和填充密码,前端只负责“记住我”状态的业务逻辑(长 session / token)。

如果你想在项目中同时支持“记住我” + “一键登录”,可以告诉我你的技术栈(React/Vue/纯 JS?),我可以给你更具体的完整代码示例。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:04:31

计算机毕业设计|基于ssm+ vue水果蔬菜商城(源码+数据库+文档)

水果蔬菜商城 目录 基于ssm vue水果蔬菜商城系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于ssm vue水果蔬菜商城系统 一、前言 博主介绍&#xff1a;✌️大厂…

作者头像 李华
网站建设 2026/6/10 9:07:37

智慧旅游新选择!多商户版景区小程序源码系统

温馨提示&#xff1a;文末有资源获取方式 随着旅游行业的快速发展&#xff0c;景区数字化、智能化升级已成为必然趋势。一款专为旅游行业深度定制的智慧旅游景区小程序多商户版源码系统应运而生&#xff0c;它能帮助景区、旅游相关企业及商户快速搭建属于自己的线上平台&#x…

作者头像 李华
网站建设 2026/6/10 9:10:51

Wordtune

1. 它是什么Wordtune 是一个基于人工智能的写作辅助工具。它的核心功能是理解用户输入的句子或段落&#xff0c;并提供多种不同的改写方式和表达建议。可以将它想象成一个时刻在线的文字编辑伙伴&#xff0c;专门帮助调整句子的语气、清晰度和流畅性&#xff0c;而不是仅仅纠正…

作者头像 李华
网站建设 2026/6/10 9:08:58

AI写论文的法宝!4款AI论文写作工具,助力高质量论文产出!

四款AI论文写作工具实测推荐 撰写期刊论文、毕业论文或者职称论文的时候&#xff0c;许多学者都会遇到各种各样的难题。对于需要手动撰写的论文&#xff0c;面对成堆的相关文献&#xff0c;无异于在沙滩上寻找珍珠&#xff1b;严格的格式要求常常让人感到无比压力&#xff0c;…

作者头像 李华
网站建设 2026/6/10 9:09:02

AI写论文必备!4款AI论文写作神器,高效完成毕业论文不是梦!

学术论文写作的AI工具实测推荐 在撰写期刊论文、毕业论文或职称论文的过程中&#xff0c;学术研究者经常会遇到不少挑战。面对海量的文献资料&#xff0c;有时查找相关信息就像在大海中捞针&#xff1b;而严格的格式要求常常让写作者感到压力山大&#xff1b;不断的修改过程又…

作者头像 李华
网站建设 2026/6/10 9:01:16

【小程序毕设源码分享】基于springboot+小程序的个性化推荐的外卖点餐系统的设计与实现(程序+文档+代码讲解+一条龙定制)

发布文章 【小程序毕设全套源码文档】基于微信小程序的个性化推荐的外卖点餐系统设计与实现(丰富项目远程调试讲解定制) 56/100 bishe638 未选择任何文件 博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈…

作者头像 李华