首页 > 解决方案 > 保存的用户名/密码出现在 Firefox 的错误字段中

问题描述

我在 Firefox 上遇到了这个奇怪的错误,而不是 Chrome(均已更新)。

在我网站的登录页面上,这些字段是:

<div class="input text required">
    <label for="ArchUtilisateurUsername">Identifiant :</label>
    <input name="data[ArchUtilisateur][username]" id="ArchUtilisateurUsername" type="text">
</div>
<div class="input password">
    <label for="ArchUtilisateurPassword">Mot de passe :</label>
    <input name="data[ArchUtilisateur][password]" id="ArchUtilisateurPassword" type="password">
</div>

然后在另一个页面上,我有一个表单来创建与用户帐户不同的“读者”帐户。它使用读取的 ID 和密码作为登录信息,但在这种形式中,两者并不相邻。所以我有这个:

<div class="group-content">
    <div id="DivFieldLecteurFormCompteActif" class="input checkbox ">
        <input name="data[LecteurForm][compte_actif]" value="" type="hidden">
        <input name="data[LecteurForm][compte_actif]" id="FieldLecteurFormCompteActif" value="1" type="checkbox">
        <label for="FieldLecteurFormCompteActif">Compte actif</label>
    </div>
    <div id="DivFieldLecteurFormPassword" class="input password ">
        <label for="FieldLecteurFormPassword">Mot de passe</label>
        <input name="data[LecteurForm][password]" id="FieldLecteurFormPassword" autocomplete="off" type="password">
    </div>
    <div id="DivFieldLecteurFormPasswordConfirm" class="input password ">
        <label for="FieldLecteurFormPasswordConfirm">Confirmation</label>
        <input name="data[LecteurForm][password_confirm]" id="FieldLecteurFormPasswordConfirm" autocomplete="off" type="password">
    </div>
</div>

奇怪的问题是,如果用户在登录网站时验证了 Firefox 的“保存我的登录数据”弹出窗口,当他打开“阅读器”表单时,

从密码字段开始:如果前一个是复选框,选择,单选,它被忽略并走得更远。如果我从源中删除带有用户名的输入字段,当我重新加载页面时,它是下一个获取用户名的前一个输入字段。

所有似乎都链接到密码字段:

最后一点似乎证实了(至少在我的情况下),当 Firefox 保存了网站的用户名/密码时,它会尝试将信息填充到他找到的第一个密码类型字段,然后填充前一个文本 -类型字段。正如您在代码中看到的那样,即使我autocomplete="off"在场上放了一个,它也会这样做。

因此 Firefox 自动填写了错误的表单,甚至有不同的字段名称(和不同的字段 id),并保存了登录信息。它是一种已知的行为吗?有没有办法防止它(因为自动完成似乎没有做这项工作)?

只是为了防止另一个答案,我从 Firefox 的密码管理器中多次删除了所有数据,这与旧的存储字段名称无关。

标签: htmlfirefox

解决方案


最后,我在这里找到了一个可行的答案:https ://stackoverflow.com/a/29852908/1459054

在搜索时,这个“错误”......对不起,“功能”在 Firefox 中存在超过 10 年,我看到了多个关于这个标记为“WONTFIX”的错误报告,因为这是预期的行为(“密码管理器不应该依赖字段名称”),它使登录信息可以在任何可以容纳的地方弹出,并且因为“它不涉及很多用户,因此修复它并不重要”。


推荐阅读