为了账号安全,请及时绑定邮箱和手机立即绑定

禁用浏览器“保存密码”功能

/ 猿问

禁用浏览器“保存密码”功能

慕婉清6462132 2019-06-10 20:59:14

禁用浏览器“保存密码”功能

在政府医疗机构工作的乐趣之一是必须处理所有围绕着处理PHI(受保护的健康信息)的偏执狂。不要误解我的意思,我完全赞成尽一切可能保护人们的个人信息(健康、财务、冲浪习惯等),但有时人们会变得过于紧张。

例如:我们的一个州客户最近发现浏览器提供了方便的功能来保存您的密码。我们都知道它已经存在了一段时间了,并且是完全可选的,由最终用户来决定是否使用它是一个明智的决定。然而,目前有一些骚动,我们被要求找到一个方法来禁用我们的网站的功能。

问题网站有没有办法告诉浏览器不要记住密码?我在网络开发方面已经有很长时间了,但我不知道我以前也遇到过这种情况。

任何帮助都是非常感谢的。


查看完整描述

4 回答

?
_zRainy_

npm i nice-pass-word 可以尝试一下,js模拟版本,效果和兼容也基本ok的

查看完整回答
反对 回复 2021-01-08
?
蝴蝶不菲

我在这个问题上挣扎了一段时间,对这个问题有一个独特的转变。特权用户无法让保存的密码为他们工作,但普通用户需要它。这意味着特权用户必须登录两次,第二次强制不保存密码。

有了这个要求,标准autocomplete="off"方法并不适用于所有浏览器,因为密码可能是从第一次登录时保存的。一位同事找到了一种解决方案,在将密码字段集中到新密码字段时替换它,然后将重点放在新密码字段上(然后将相同的事件处理程序连接起来)。这起作用了(除了在IE6中导致无限循环之外)。也许有办法解决这个问题,但它导致了我的偏头痛。

最后,我尝试将用户名和密码放在表单之外。令我惊讶的是,这个成功了!它在IE6上工作,在Linux上运行Firefox和Chrome的当前版本。我还没有对它进行进一步的测试,但我怀疑它在大多数浏览器(如果不是所有浏览器的话)都能工作(但如果有一个浏览器不关心是否有表单,我也不会感到惊讶)。

下面是一些示例代码,以及一些jQuery以使其工作:

<input type="text" id="username" name="username"/>
<input type="password" id="password" name="password"/>

<form id="theForm" action="/your/login" method="post">
  <input type="hidden" id="hiddenUsername" name="username"/>
  <input type="hidden" id="hiddenPassword" name="password"/>
  <input type="submit" value="Login"/>
</form>

<script type="text/javascript" language="JavaScript">
  $("#theForm").submit(function() {
    $("#hiddenUsername").val($("#username").val());
    $("#hiddenPassword").val($("#password").val());
  });
  $("#username,#password").keypress(function(e) {
    if (e.which == 13) {
      $("#theForm").submit();
    }
  });
</script>


查看完整回答
反对 回复 2019-06-10
?
白衣非少年

只管用

readOnFocus=“this.emoveAttribute(‘readonly’);”

除了……之外

自动完成=“关闭”

不想记住表单数据的输入(usernamepassword等等)如下所示:

<input type="text" name="UserName" autocomplete="off" readonly 
    onfocus="this.removeAttribute('readonly');" >

<input type="password" name="Password" autocomplete="off" readonly 
    onfocus="this.removeAttribute('readonly');" >

在最新版本的主要浏览器上进行测试,即Google ChromeMozilla FirefoxMicrosoft Edge等而且很有魅力。希望这能帮上忙.。


查看完整回答
反对 回复 2019-06-10
?
慕工程0101907

我不确定它是否在所有浏览器中都能工作,但是您应该尝试在表单上设置自动完成=“OFF”。

<form id="loginForm" action="login.cgi" method="post" autocomplete="off">

禁用表单的最简单、最简单的方法和密码存储提示并且阻止表单数据在会话历史记录中被缓存,是使用值为“OFF”的自动完成表单元素属性。

从…http:/developer.mozilla.org/en/How_to_off_form_autoComplete

一些小的研究表明,这在IE中是可行的,但我不会留下任何保证;)

@Joseph:如果严格要求通过带有实际标记的XHTML验证(不知道为什么会这样),理论上可以在事后使用javascript添加这个属性,但是禁用js的用户(可能忽略了用户基数的数量,或者如果站点需要js,则为零)仍然会保存他们的密码。

jQuery示例:

$('#loginForm').attr('autocomplete', 'off');


查看完整回答
反对 回复 2019-06-10

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信