我记得有一种方法可以让<input type="password" />浏览器不会提示用户保存密码.但我画了一个空白.是否有HTML属性或一些JavaScript技巧可以做到这一点?
tva*_*son 122
尝试使用autocomplete="off".但不确定每个浏览器是否都支持它.MSDN文档在这里.
编辑:注意:大多数浏览器已放弃对此属性的支持.请参阅自动完成="关闭"是否与所有现代浏览器兼容?
这可以说应该留给用户而不是网站设计者.
mat*_*pie 59
<input type="password" autocomplete="off" />
我想补充一点,作为一个用户,我认为这非常烦人,需要克服麻烦.我强烈建议不要使用它,否则很可能会加剧您的用户.
密码尚未存储在MRU中,正确配置的公共计算机甚至不会保存用户名.
Sar*_*CSE 12
我以另一种方式解决了.你可以试试这个.
<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>
Run Code Online (Sandbox Code Playgroud)
#其他方式
<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>
Run Code Online (Sandbox Code Playgroud)
//你需要添加属性autocomplete ="off",或者你可以在输入框中添加class .auto-complete-off并享受
例:
<input id="passfld" type="password" autocomplete="off" />
OR
<input id="passfld" class="auto-complete-off" type="password" />
Run Code Online (Sandbox Code Playgroud)
小智 5
至于安全问题,安全顾问会告诉您整个现场问题(这来自实际的独立安全审计):
已启用HTML自动填充功能 - HTML表单中的密码字段已启用自动填充功能.大多数浏览器都有记住输入HTML表单的用户凭据的工具.
相对风险:低
受影响的系统/设备:o https:// ******* /
我也同意这应涵盖任何包含真正私人数据的字段.我觉得,只要该网站要访问任何应该保密的内容(通用或法律合规性要求),就可以强制一个人总是输入他们的信用卡信息,CVC代码,密码,用户名等.例如:购买表格,银行/信贷网站,税务网站,医疗数据,联邦,核等 - 而不是 Stack Overflow或Facebook 等网站.
其他类型的网站 - 例如TimeStar Online用于上班和下班 - 这是愚蠢的,因为我总是在工作中使用相同的PC /帐户,我无法保存该网站上的凭据 - 奇怪的是我可以在我的Android上但不是在iPad上.即使是共享PC也不会太糟糕,因为为其他人输入/输出实际上并没有做任何事情,只会让你的主管烦恼.(他们必须进入并删除错误的打击 - 只需选择不保存在公共PC上).
小智 5
我尝试了以下内容,它似乎适用于任何浏览器:
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
$(function(){
var passElem = $("input#passfld");
passElem.focus(function() {
passElem.prop("type", "password");
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这种方式比使用超时技术更安全,因为它保证输入字段在用户关注时输出密码.
这是最好的答案,也是最简单的!在您的字段前面放置一个额外的密码字段input并设置display:none,以便当浏览器填写它时,它会在input您不关心的情况下进行操作。
改变这个:
<input type="password" name="password" size="25" class="input" id="password" value="">
Run Code Online (Sandbox Code Playgroud)
对此:
<input type="password" style="display:none;">
<input type="password" name="password" size="25" class="input" id="password" value="">
Run Code Online (Sandbox Code Playgroud)
<input type="password" placeholder="Enter New Password" autocomplete="new-password">
Run Code Online (Sandbox Code Playgroud)
干得好。
| 归档时间: |
|
| 查看次数: |
170029 次 |
| 最近记录: |