编程语言
首页 > 编程语言> > javascript – 屏蔽没有type = password的输入字符

javascript – 屏蔽没有type = password的输入字符

作者:互联网

所以我对新版浏览器保存密码有疑问.说我有一个像这样的密码框:

<input type="password" autocomplete="off" />

iOS 7.1中的IE11和Safari等新浏览器已开始忽略密码框中的autocomplete =“off”,并提供用户保存密码.在我的公司(银行),我们认为这是一个安全问题.

我想知道是否还有人解决了这个问题.也许有人编写了一个javascript插件来掩盖正常的输入[type = text],以便尊重autocomplete =“off”属性.

更新:

有关更多信息,请参阅msdn:http://msdn.microsoft.com/en-us/library/ie/ms533486%28v=vs.85%29.aspx上的自动完成文档

解决方法:

首先,autocomplete =“off”应该在< form>上.元素,而不是单个字段.这是因为浏览器通常将给定表单中的所有字段的值存储在一起(例如,允许为同一站点保存多个用户名/密码组合).

在表单中设置它,它应该适合你. (虽然已保存的密码通常仍会自动完成,因此在测试前请清除密码存储区)

但是,如果这被视为安全问题,我建议你可能会追逐错误的目标.

浏览器提供此功能的原因是因为用户希望能够存储他们的登录凭据.防止他们这样做不会阻止他们想要,如果用户真的想要,他们还有很多方法可以解决它 – 有明确设计的浏览器插件可以杀死你自动完成=“关闭”功能并允许保存所有密码.

您的用户如何在最终存储密码最终不是您的安全问题,也不是您实际上无法控制的内容.

事实上,如果我们阻止人们存储他们的密码,他们更有可能在多个地方使用相同的密码(仅仅因为人们没有能力为他们使用的每个网站记住不同的密码),所以通过防止他们从保存它,实际上可能会使您的用户密码不那么安全.

如果您的站点确实需要不能保存密码的安全性,那么您将需要完全考虑替代机制.例如,银行登录这些天通常要求用户从他们的密码输入特定的编号字符 – 例如“请输入密码中的第五,第八和第十二个字符”.

然而,这些方案更多的目的是确保密码的传输而不是存储密码:只输入某些给定的字符,我们根本不需要输入或传输整个密码,所以没有机会正在被黑客入侵.仍然假设用户可能会在某处记下密码(特别是如果他们必须计算出字符串中的第12个字符)

这种方案对用户来说可能是一个真正的痛苦,但确实提供了真正的登录安全级别,而无需实际输入或传输密码.然而,它为登录过程增加的额外难度意味着只有像银行这样的高安全性网站才有可能使用这种方案而不是常规密码.

标签:html,javascript,internet-explorer-11
来源: https://codeday.me/bug/20191005/1857026.html