为政府医疗保健机构工作的乐趣之一就是必须处理与处理PHI(受保护的健康信息)有关的所有偏执.不要误会我的意思,我尽一切可能保护人们的个人信息(健康,经济,上网习惯等),但有时人们会有点过于兴奋.
例证:我们的一位州客户最近发现浏览器提供了保存密码的便利功能.我们都知道它已经存在了一段时间并且是完全可选的,并且由最终用户决定是否使用或不使用它.然而,目前有一点骚动,我们被要求找到一种方法来禁用我们网站的功能.
问题:网站是否有办法告诉浏览器不要提供密码?我很长一段时间都在网络开发,但不知道我之前遇到过这种情况.
任何帮助表示赞赏.
我不确定它是否适用于所有浏览器,但您应该尝试在表单上设置autocomplete ="off".
只是用
readonly onfocus ="this.removeAttribute('readonly');"
此外
自动填充="关闭"
到你不想记住表单数据(输入(S) username
,password
等等),如下图所示:
测试在主流浏览器的最新版本的IE Google Chrome
,Mozilla Firefox
,Microsoft Edge
等,就像一个魅力.希望这可以帮助...
好吧,这是一个非常古老的帖子,但我仍然会提供我的解决方案,我的团队一直试图实现这一目标.我们刚刚在表单中添加了一个新的input type ="password"字段,并将其包装在div中并使div隐藏起来.确保此div在实际密码输入之前.这对我们有用,它没有提供任何保存密码选项
Plunk - http://plnkr.co/edit/xmBR31NQMUgUhYHBiZSg?p=preview
HTML:
CSS:
.hidden {display:none;}
您可以通过随机化每个节目上用于密码字段的名称来阻止浏览器匹配表单.然后浏览器会看到相同网址的密码,但无法确定密码是否相同.也许它控制着别的东西.
更新:请注意,这应该是除了使用自动完成或其他手段,而不是它们的替代,供他人指示的原因.
另请注意,这只会阻止浏览器自动填写密码.它不会阻止它将密码存储在浏览器选择使用的任何安全级别.
使用真正的双因素身份验证来避免单独依赖于密码,这些密码可能存储在比用户的浏览器缓存更多的位置.
最干净的方法是使用autocomplete="off"
标记属性,但是当您使用Tab切换字段时,Firefox无法正确遵守它.
你可以阻止这种情况的唯一方法是添加一个虚假的隐藏密码字段,欺骗浏览器在那里填充密码.
这是一个丑陋的黑客,因为你改变了浏览器的行为,这应该被认为是不好的做法.只有在你真的需要时才使用它.
注意:这将有效地阻止密码自动填充,因为FF将"拯救"的值#prevent_autofill
(这是空的),并会尝试填充任何保存的密码存在,因为它总是使用第一个type="password"
相应的"用户名"后,它发现在DOM输入输入.
我已经测试过在所有主流浏览器中在表单标记中添加autocomplete ="off".事实上,到目前为止,美国大多数人使用IE8.
IE8,IE9,IE10,Firefox,Safari都运行良好.
浏览器没有询问"保存密码".此外,以前保存的用户名和密码未填充.
Chrome和IE 11不支持autocomplete ="off"功能
FF支持autocomplete ="off".但有时会填充现有的已保存凭据.
2014年6月11日更新
最后,下面是一个使用javascript的跨浏览器解决方案,它在所有浏览器中都运行良好.
需要在登录表单中删除"表单"标记.在客户端验证之后,将该凭据放入隐藏表单并提交.
另外,添加两种方法.一个用于验证"validateLogin()",另一个用于监听输入事件,同时单击输入文本框/密码/按钮"checkAndSubmit()".因为现在登录表单没有表单标签,所以输入事件不在这里工作.
HTML
Username: Password:使用Javascript
//For validation- you can modify as you like function validateAndLogin(){ var username = document.getElementById("username"); var password = document.getElementById("password"); if(username && username.value == ''){ alert("Please enter username!"); return false; } if(password && password.value == ''){ alert("Please enter password!"); return false; } document.getElementById("hidden_username").value = username.value; document.getElementById("hidden_password").value = password.value; document.getElementById("HiddenLoginForm").submit(); } //For enter event function checkAndSubmit(e) { if (e.keyCode == 13) { validateAndLogin(); } }
祝好运!!!
不是真的 - 你唯一可以做的就是在网站上提供建议; 也许,在他们第一次登录之前,您可以向他们展示一个表单,其中包含的信息表明不建议他们允许浏览器存储密码.
然后,用户将立即按照建议,在便利贴上写下密码并将其粘贴到他们的监视器上.
我一直在做的是使用javascript/jQuery自动完成="关闭"和清除密码字段的组合.
jQuery示例:
$(function() { $('#PasswordEdit').attr("autocomplete", "off"); setTimeout('$("#PasswordEdit").val("");', 50); });
通过使用,setTimeout()
您可以在清除之前等待浏览器完成该字段,否则浏览器将在您清除该字段后自动完成.