内容提要
本文介绍了关闭密码管理器对输入字段干扰的方法,包括使用特定的数据属性和设置autocomplete="off"。作者希望了解其他关闭密码管理器的方法。
延伸解读
为何 autocomplete="off" 不再可靠
文章指出,现代浏览器通常忽略 autocomplete="off" 对密码管理器的阻止作用。MDN 的引文说明,该属性无法阻止密码管理器询问保存密码或自动填充登录表单。这被视为一种有意识的安全决策,因为使用自动密码流的用户比不使用的更安全。因此,开发者不能依赖此属性来完全禁用密码管理器。
各密码管理器专用属性一览
针对不同密码管理器,需要添加特定数据属性:1Password 使用 data-1p-ignore,LastPass 使用 data-lpignore="true",Dashlane 使用 data-form-type="other"。文章给出了组合示例,同时使用这些属性和 autocomplete="off" 可最大程度避免干扰。但作者也指出,这仅覆盖了已知的三款管理器,可能还有其他未发现的方案。
实际应用中的局限与建议
由于密码管理器种类繁多且行为各异,仅靠少数属性难以完全禁用所有自动填充。文章作者通过大量搜索才收集到这些属性,暗示缺乏统一标准。开发者若需关闭密码管理器,应测试目标用户常用的管理器,并考虑安全权衡——完全禁用可能降低用户账户安全性。
Q&A
如何让1Password不干扰输入字段?
在输入字段中添加 data-1p-ignore 属性即可。
如何关闭LastPass对输入字段的自动填充?
在输入字段中添加 data-lpignore="true" 属性。
如何让Dashlane不自动填充表单?
在输入字段中添加 data-form-type="other" 属性。
有没有一种方法可以同时禁用多个密码管理器?
可以组合使用多个数据属性,例如:autocomplete="off"、data-1p-ignore、data-lpignore="true"、data-form-type="other"。
为什么autocomplete="off"不能阻止密码管理器自动填充?
现代浏览器通常忽略autocomplete="off",这可能是出于安全考虑,因为使用自动密码流的用户通常比不使用的用户更安全。
除了1Password、LastPass和Dashlane,还有其他关闭密码管理器的方法吗?
文章作者希望了解其他方法,但未提供具体信息。