如何在IE11中禁用HTML密码字段的自动完成?

Hof*_*ofi 8 html autocomplete internet-explorer-11

IE11 下降支持autocomplete=off对于input type=password同时在形式和等级.

有没有人找到一个工作解决方案来禁用IE11下的自动完成?

Ner*_*ter 6

使用双因素身份验证解决安全问题要好得多.围绕浏览器进行黑客攻击将(a)仅在短期内工作(密码管理员在处理这些方法方面变得越来越好),并且(b)经常导致可访问性问题,这可能会比您的恐惧花费更多用户合法密码泄露.如果您在一个大型组织中工作,那么对您的浏览器黑客有足够时间的辅助技术用户最终可能会提起诉讼.(我不是特别针对这个黑客,但一般来说,反对浏览器工作会伤害辅助技术)

双因素身份验证,即使是一个简单的实现,只是要求中间名,然后设置一个cookie("这个浏览器现在允许访问没有2FA一个月"),使得随机黑客获取未授权变得非常困难访问帐户,并为用户保持更好的状态,特别是那些使用屏幕阅读器或其他辅助技术的用户.

另一方面,禁用密码管理器往往会导致易于键入的密码而不是强密码.使用LastPass或类似的密码,我可以拥有一个24个字符的密码(LastPass可能填写你试图用hacks保护的字段,fyi),我永远不会希望记住这个密码,并为每个站点提供不同的密码.当我有密码时我必须记住,它们往往是两个用符号串在一起的单词,例如"Dogs + Knife".


Dea*_*ers 1

这是一种解决方法,而不是最佳实践。

IE 11 将自动完成任何input type="password". 但它只会填充第一个。所以我所做的是这样的

<div style="display:none;">
    <input type="text" id="my_username"/>
    <input type="password" id="my_password"/>
</div>              
<asp:Login ID="Login1" runat="server"
    SkinId="LoginDefault" LabelStyle-Font-Bold="true"
    DisplayRememberMe="False"
    DestinationPageUrl="~/CheckPassword.aspx">

    <LoginButtonStyle CssClass="btnEntry" />
    <LabelStyle Font-Bold="True" />
</asp:Login>  
Run Code Online (Sandbox Code Playgroud)

现在,如果您注意到第一个具有显示样式:无。这允许 IE 11 自动完成它,但用户并不关心,因为他们看不到这一点。我知道这是一种黑客行为,但它确实有效。

  • 这样做有什么意义呢?它并没有提高安全性(密码仍然被存储并且像以前一样容易提取)并且它会惹恼合法用户。在某种程度上,它甚至对安全有害:用户会认为密码没有被存储,但实际上它是被存储的。他们可能会据此做出错误的安全决策。 (33认同)
  • 人员 - 在医院等企业环境中,员工无法安装密码管理器等。同样,IT 人员可以配置他们使用的浏览器来禁用自动完成功能。也就是说,政治迫害和否决投票确实是不恰当的。在许多情况下,禁用自动完成是一个非常有效的要求。事实上,在医疗保健环境中,它可能被视为联邦法律的直接影响。断言这些是用户偏好,因此永远不应该被废除是不成熟的,并且表明对法规如何影响设计的理解不足。 (6认同)
  • @DeadlyChambers 尝试使用服务器端技术解决客户端行为并不构成安全。IE 的下一个版本将禁用您的解决方法,或者 Chrome 也会忽略该属性,您将不得不尝试堆砌另一个解决方法,或者 Firefox 将简单地忽略任何隐藏字段。同时,您会感到安全,因为您知道已经“解决”了一个问题,该问题不是您网站的问题,而是客户端设置的问题。 (5认同)
  • IE 并未造成安全问题。安装在该共享计算机上的简单键盘记录器也会暴露相同的问题。如果您想让您的网站安全,请采用双因素身份验证。或者强制每个用户拥有自己的 Windows 帐户。事实上,我认为,由于这是一个健康应用程序,您依赖共享 Windows 帐户的事实很可能已经违反了一些法规。 (5认同)
  • @DeadlyChambers 仍然是一个用户领域问题。如果您使用的是公共终端,请使用隐私浏览,或者更好的是,如果它是一个信息亭,您可以为他们进行配置。或者IE11在私密模式下也会保存密码吗? (3认同)
  • IE 在这件事上是对的吗?我知道他们认为安全性是最高的,但应该由开发人员来决定是否允许自动完成,而不是浏览器。 (2认同)
  • 重点是 IE 11 将存储密码,因此如果您按一个键,请说 a。然后用户 abbiegal89 和她的密码将自动放入其中。使用我们网络应用程序的人共享计算机。因此可能有 15 个人共享同一台计算机,其中一个人可能是管理员。因此,如果有人输入任何用户名的第一个字母,他们就可以以其身份登录。这就是我担心的安全性。如果你能想出更好的办法来做我的客人。 (2认同)
  • T-Bull 您想对此对企业层面的影响发表评论,还是只是想咆哮?我的观点是,在某些使用环境中,为了安全性和法规遵从性,必须禁用此功能。你对我的陈述的实质内容只字未提,你只是大肆咆哮你的“权利”,以“捍卫自己”免受“网页设计愚蠢”的侵害。这样做你就错过了我提出的实际观点。您是否愿意针对这些问题补充一些内容? (2认同)