网站如何防止粘贴密码或电子邮件地址?

use*_*927 5 firefox email website copy-paste

我注意到一些网站会阻止用户粘贴数据 - 从密码到用户名/电子邮件到所有内容。在不讨论实践和理由/理由的情况下,网站阻止我将数据粘贴到文本输入字段的技术手段是什么?

例如,此站点不允许粘贴到“重新键入电子邮件地址”字段中。如何?我的猜测是有多种方法可以实现这种行为?

我在 OS X 10.11.6 上使用 Firefox 62.0.2。

Kin*_*tus 6

答案:JavaScript

查看您链接到的页面的源代码。

<input type="text" size="30" maxlength="99" onkeydown="clearErrMsg(event)" onblur="validateEmail(false)" onpaste="SFDOMEvent.preventDefault(event);"
               id="fbclc_emailConf"
               name="fbclc_emailConf"
               value="" aria-required="true">
Run Code Online (Sandbox Code Playgroud)

它已SFDOMEvent.preventDefault(event);绑定到onpaste输入元素的事件。preventDefault将通过阻止默认行为 - 粘贴来中止正在执行的操作。其他站点将使用它的变体。