inputtypes=密码,不要让浏览器记住密码

我记得看到有一个方法有一个<input type="password" /> ,使浏览器不会提示用户保存密码。 但是我画了一个空白。 是否有一个HTML属性或一些JavaScript的伎俩,将这样做?

尝试使用autocomplete="off" 。 不知道是否每个浏览器都支持它。 MSDN文档在这里 。

编辑 :注意:大多数浏览器已经放弃了对这个属性的支持。 请参阅是否与所有现代浏览器兼容的autocomplete =“off”?

这可以说是应该留给用户而不是网站devise者的东西。

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

我只想补充一点,作为一个用户,我觉得这是非常烦人的,需要克服的麻烦。 我强烈build议不要使用这个,因为它会使您的用户更加恶化。

密码已经不存储在MRU中,正确configuration的公共机器甚至不保存用户名。

我以另一种方式解决。 你可以试试这个

 <input id="passfld" type="text" autocomplete="off" /> <script type="text/javascript"> // Using jQuery $(function(){ setTimeout(function(){ $("input#passfld").attr("type","password"); },10); }); // or in pure javascript window.onload=function(){ setTimeout(function(){ document.getElementById('passfld').type = 'password'; },10); } </script> 

#其他方式

  <script type="text/javascript"> function setAutoCompleteOFF(tm){ if(typeof tm =="undefined"){tm=10;} try{ var inputs=$(".auto-complete-off,input[autocomplete=off]"); setTimeout(function(){ inputs.each(function(){ var old_value=$(this).attr("value"); var thisobj=$(this); setTimeout(function(){ thisobj.removeClass("auto-complete-off").addClass("auto-complete-off-processed"); thisobj.val(old_value); },tm); }); },tm); }catch(e){} } $(function(){ setAutoCompleteOFF(); }); </script> 

//你需要添加属性autocomplete =“off”,或者你可以添加类.auto-complete-off到input框中,并享受

例:

  <input id="passfld" type="password" autocomplete="off" /> OR <input id="passfld" class="auto-complete-off" type="password" /> 

我试过以下,似乎适用于任何浏览器:

 <input id="passfld" type="text" autocomplete="off" /> <script type="text/javascript"> $(function(){ var passElem = $("input#passfld"); passElem.focus(function() { passElem.prop("type", "password"); }); }); </script> 

这种方式比使用超时技术更安全,因为它保证了当用户关注input字段时,input字段会输出密码。

至于安全问题,这里是安全顾问在整个现场问题(这是从一个实际的独立安全审计)告诉你:

HTML自动完成已启用 – HTML表单中的密码字段已启用自动完成function。 大多数浏览器都有logginginputHTML表单的用户凭证的function。

相对风险:低

受影响的系统/设备:o https:// * ** * *** /

我也同意这应该涵盖任何包含真正私人数据的领域。 我认为,只要该网站要访问任何应该保持安全的[普遍或合法合规要求],就可以强迫某人永远input他们的信用卡信息,CVC代码,密码,用户名等。 例如:购买表格,银行/信用网站,税收网站,医疗数据,联邦,核等 – 而不是像Stack Overflow或Facebook这样的网站。

其他types的网站 – 例如TimeStar Online,用于计时进出工作 – 这是愚蠢的,因为我总是在工作中使用相同的PC /帐户,我不能保存在该网站的凭据 – 奇怪的是,我可以在我的Android但不是在iPad上。 即使是共享的个人电脑,这也不会太糟糕,因为进入/离开别人确实不会做任何事情,只是惹恼你的主pipe。 (他们必须进入并删除错误的拳 – 只是select不保存在公共电脑上)。

这是最好的答案,也是最简单的! 在input字段的前面加一个额外的密码字段,并设置display:none ,这样当浏览器填充它时,它会在你不关心的input中进行input

改变这个:

 <input type="password" name="password" size="25" class="input" id="password" value=""> 

对此:

 <input type="password" style="display:none;"> <input type="password" name="password" size="25" class="input" id="password" value=""> 

你可以使用JQuery,按IDselect项目:

 $("input#Password").attr("autocomplete","off"); 

或按typesselect项目:

 $("input[type='password']").attr("autocomplete","off"); 

还有:

你可以使用纯Javascript:

 document.getElementById('Password').autocomplete = 'off'; 

你也可以像下面一样使用它

 $('#Password').attr("autocomplete", "off"); setTimeout('$("#Password").val("");', 2000); 

在大多数主stream浏览器的情况下,如果input外部并且没有连接到任何forms,则浏览器会认为没有提交。 在这种情况下,你将不得不使用纯JSvalidation你的login和encryption你的密码也是必要的。

之前:

 <form action="..."><input type="password"/></form> 

后:

 <input type="password"/> 

我在Firefox和Chrome上发现了以下作品。

 <form ... > <!-- more stuff --> <input name="person" type="text" size=30 value=""> <input name="mypswd" type="password" size=6 value="" autocomplete="off"> <input name="userid" type="text" value="security" style="display:none"> <input name="passwd" type="password" value="faker" style="display:none"> <!-- more stuff --> </form> 

所有这些都在表格部分。 “person”和“mypswd”是你想要的,但是浏览器将会保存“userid”和“passwd”一次,永远不会再改变。 如果你真的不需要,你可以消除“人”字段。 在这种情况下,所有你想要的是“mypswd”字段,它可以以你的网页的用户已知的某种方式改变。

我可以让firefox,edge和Internet Explorerclosures自动填充的唯一方法是在我的表单语句中添加autocomplete =“false”,如下所示:

  <form action="postingpage.php" autocomplete="false" method="post"> 

我必须将autocomplete =“off”添加到我的表单input,并将types更改为文本Like:

  <input type="text" autocomplete="off"> 

看来,这个HTML代码需要与浏览器标准化。 应该修改表单types=密码,以覆盖浏览器设置。 我唯一的问题是,我失去了我的input掩码。 但在光明的一面,恼人的“这个网站是不安全的”不出现在Firefox中。

对我来说,这不是一个大问题,因为用户已经被authentication了,而且我的更改用户名和密码部分

阅读这个答案 ,他在哪里使用这个简单的解决scheme,无处不在(另请参阅Safari手机修复):

 <input type="password" readonly onfocus="this.removeAttribute('readonly');"/>