我的“忘记密码”网页通过电子邮件向用户发送代码。他们输入的表单看起来像这样:
<input class="form-control" type="text" name="code" id="code">
<input type="hidden" name="email" value="$email" autocomplete="email">
<input class="form-control" type="password" name="password" id="password" autocomplete="new-password">
<input data-parsley-equalto="#password" name="confirm-password" class="form-control" type="password" id="confirm_password" autocomplete="new-password">
问题是,当用户输入代码和新密码时,浏览器(在本例中为Chrome)将根据恢复代码创建新的保存密码条目,而不是电子邮件地址(在帐户创建页面上正常工作)。
隐藏的电子邮件地址字段本应“欺骗”浏览器保存电子邮件地址的新密码,但Chrome忽略了它,并继续创建一个新的保存密码条目(无用的)恢复代码。
我需要做哪些更改才能说服浏览器根据电子邮件地址保存新密码?
1条答案
按热度按时间l2osamch1#
解决方案是将恢复代码字段标记为一次性密码:
这会让隐藏的电子邮件地址被选为更改密码的帐户,并在Chrome密码管理器中正确更新。