在我们的网络应用程序中,我们提供了一个仪表板,其中包含用于创建和更改注册用户的用户数据的管理表单。
问题是firefox将其中两个字段识别为登录字段,并建议在提交时下次访问此表单时自动完成。我们不希望我们的管理员完全接收此建议,因为当管理员在其他用户中显示他们自己的登录数据时会导致混淆。
在这种情况下,我尝试关注如何处理自动完成问题MDN suggestions。它们提供以下解释:
如果网站为表单设置了autocomplete =“off”,并且该表单包含用户名和密码输入字段,那么浏览器仍会提供记住此登录信息,如果用户同意,浏览器将在用户下次访问该页面时自动填充这些字段。
并进一步说明:
如果作者想要阻止用户管理页面中的密码字段自动填充,用户可以为自己以外的其他人指定新密码,则应指定autocomplete =“new-password”,但对此不支持已在所有浏览器中实现。
我们的表单目前看起来大致相同,但firefox stil一直提供自动填充功能。
<form action="" method="post" autocomplete="off">
<input id="id_first_name" name="first_name" type="text">
<label for="id_first_name">First Name</label>
<input id="id_last_name" name="last_name" type="text">
<label for="id_last_name">Last Name</label>
<input id="id_raw_password" name="raw_password" autocomplete="new-password" type="password">
<label for="id_raw_password">New Password (The current password is not displayed here.)</label>
<input id="id_email" name="email" type="email">
<label for="id_email">Email address</label>
<!-- some more user profile fields like birth date etc. -->
</form>
有没有人知道如何防止这种情况?
答案 0 :(得分:0)
如果作者想要阻止在用户管理页面中自动填写密码字段,用户可以为自己以外的人指定新密码,则autocomplete =&#34; new-password&#34;应该指定,但尚未在所有浏览器中实现对此的支持。
事实证明,firefox是其中一个没有实现它的浏览器。
有关此问题的详细讨论可在this bug tracker thread上找到。
在与我们的开发人员讨论这个问题之后,我们决定不提供用于更改其他用户密码的密码字段。 如果其他人遇到此问题我们的建议是提供一种向用户发送电子邮件的方式,允许他/她自己更改自己的密码。这甚至可能被认为是更好的做法,因为它确保用户密码永远不会暴露给其他人,然后是用户自己。