禁用HTML输入字段中的复制粘贴?

Ada*_*tan 37 html javascript security passwords copy-paste

可能重复:
使用Javascript禁用复制/粘贴到HTML表单

我的银行似乎已禁用用户名和密码的复制粘贴.

怎么做?它是否提高了安全性?

Ily*_*ich 82

您可以在输入中禁用粘贴,如下所示:

HTML:

<input type="text" value="" id="myInput">
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

window.onload = function() {
 const myInput = document.getElementById('myInput');
 myInput.onpaste = function(e) {
   e.preventDefault();
 }
}
Run Code Online (Sandbox Code Playgroud)

谈到安全性,我不会说这会产生任何影响.您通常会使用客户端以及用户提交的数据的服务器端验证.

希望这可以帮助

  • 防止复制和粘贴是愚蠢的,它对安全性有零影响,并且在某些情况下也会增加使用密码管理器创建强密码的问题. (7认同)
  • 它确实改善了安全过程,只是没有直接特别是,当确认PIN或密码时如果用户第一次输入错误,粘贴相同的信息意味着他们现在不知道他们自己的PIN - >因此成本和时间必须再次重置它.更广泛地说,显然需要做所有正常的验证...... (4认同)
  • @StanE:这可以防止用户粘贴错误的数据,但这也可以防止用户粘贴正确的数据.我使用密码管理器,让它生成一个非常强大的密码.然后我复制/粘贴它,因为它需要永远正确地输入所有特殊字符. (3认同)
  • 这不会增加安全性,而是会降低安全性,因为这使人们不太可能使用强密码和密码管理器。 (3认同)