html - "Remember my password"复选框如何工作?

标签 html cookies passwords

有许多带有“记住我的密码”小复选框的登录表单,以便您下次访问该网站时,浏览器会自动为您填写密码字段。

但我注意到现代浏览器(例如 Chrome/Firefox)中的一个行为,即使该特定网页没有任何“记住密码”复选框,它也会显示一个通知栏来保存用户名/密码。

所以我的问题是:

  1. 如果我必须在登录表单中放置“记住密码”复选框,当用户选中它时我必须做什么?我的意思是,我是否必须将密码存储在浏览器 cookie(或本地存储)中?如果是这样,密码应该加密还是纯文本?
  2. “保存密码”通知栏是浏览器的功能,或者有什么方法可以从网页调用它?

最佳答案

每当看到 <input type="password"> 时,“保存密码”部分来自浏览器的密码管理器。看起来它确实在要求输入密码。在大多数浏览器中,您可以使用自动完成属性来抑制这一点:

<input type="password" name="password" autocomplete="off">

这不会验证,但这通常无关紧要。

“记住我”部分与浏览器的密码管理器完全分开。 “记住我”标志是服务器的业务,它所做的只是摆弄它发回的 cookie 上的到期日期。服务器将始终发回一个 cookie(除非他们不使用 cookie 来跟踪 session ,但这种情况很少见,而且无论如何也不需要“记住我”),其中包含用于识别客户端用户的内容。

如果您选中“记住我”,那么您就是在告诉服务器您想要一个持久 session 。为实现这一点,服务器将在 cookie 中包含一个到期日期,并且该到期日期将是 future 的某个时间。当日期到达时,浏览器将过期并删除 cookie;没有 cookie,服务器将不再知道您是谁,您将不得不重新登录。

如果您不勾选“记住我”,您将获得一个 session cookie。 session cookie 没有到期日期,因此在浏览器退出时会自动到期。 session cookie 对共享机器很有用。

执行摘要:

  • “保存密码”来自浏览器的密码管理器。
  • “记住我”是关于登录 cookie 的过期时间。

很抱歉啰嗦了这么久,但其他答案似乎有些困惑且不够清晰。

关于html - "Remember my password"复选框如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4538226/

相关文章:

http - 我可以让 httpOnly cookie 与 vue-resource 一起使用吗?

php - 使用 cURL 接受 cookie?

hash - yii CPasswordHelper : hashPassword and verifyPassword

firebase-authentication - 使用 firebase 云功能更改密码

html - 如何处理只包含绝对定位子元素的元素?

javascript - HTML元素属性动态赋值

javascript - 图像映射适用于 Internet Explorer,但不适用于 Chrome

html - 水平列表中的垂直列表

forms - jQuery UI 选项卡和 Cookie 选项出现问题

windows - 是否可以在不在 Windows 上创建用户的情况下检查密码是否有效?