在我的应用程序中,登录浏览器时要求我保存密码。 为了防止我使用html标签autocomplete =“off”,它对某些浏览器不起作用。
要获得更多步骤安全性 - 如果浏览器要求保存密码,则在浏览时保存密码时应更改密码。
点击登录时,我从字段中获取密码,然后使用javascript更改密码和虚拟密码。
代码:
function onLoginClick(){
var passStr = $("#myPassword").val();
$("#myPassword").val('dummyPassword');
}
但是在保存密码时,浏览器正在获取实际密码而不是虚拟密码。
答案 0 :(得分:1)
我相信Chrome会跟踪每个输入的最后一个用户输入值。因此,简单地将其交换出来并不会覆盖它。你可能想要做的是打电话听submit
事件,并在你的处理程序中调用事件的preventDefault
函数。我不确定每个浏览器正在寻找什么来触发"想要保存此密码?"对话框,但我知道在提交标签中导航是其中之一。您是否尝试过以下方面的内容:
<form>
<input name="username">
<input type="password" name="textPass">
<input type="hidden" name="hiddenPass">
</form>
使用js:
form.addEventListener('submit', function(e){
if(hiddenPass.value.length === 0) {
e.preventDefault();
hiddenPass.value = textPass.value;
textPass.value = '';
window.setTimeout(function(){
form.submit();
});
}
});
或者隐形密码字段怎么样?:
<input type="password" name="password" value="" style="display: none;">
<input type="password" name="realPassword">