如何禁用复制粘贴(浏览器)

我正在尝试2个替代方法:

  • 忽略右键
  • 忽略ctrl+ Cctrl+A

这是我的代码:

function noMenu() {

return false;

}

function disableCopyPaste(elm) {

// Disable cut/copy/paste key events

elm.onkeydown = interceptKeys

// Disable right click events

elm.oncontextmenu = function() {

return false

}

}

function interceptKeys(evt) {

evt = evt||window.event // IE support

var c = evt.keyCode

var ctrlDown = evt.ctrlKey||evt.metaKey // Mac support

// Check for Alt+Gr (http://en.wikipedia.org/wiki/AltGr_key)

if (ctrlDown && evt.altKey) return true

// Check for ctrl+c, v and x

else if (ctrlDown && c==67) return false // c

else if (ctrlDown && c==86) return false // v

else if (ctrlDown && c==88) return false // x

// Otherwise allow

return true

}

这是我的HTML:

<body class="node88" oncontextmenu="return noMenu();" onkeydown="return disableCopyPaste();">

noMenu()功能有效,但disableCopyPaste()不起作用。

回答:

你不能

您可以尝试阻止某些矢量(例如,使右键单击更加困难的黑客,拦截ctrl+

c,使其难以选择文本)……但是它们只能起到某种作用,并且不可能阻止所有矢量(编辑->复制) ?查看源代码??wget等…)。

如果您想保护内容免受技术含量较低的用户的侵害,则可以采用这些方法……但是,正如此处的注释所建议的那样,它们将使技术含量更高的用户感到沮丧。

如果您有必须保护的敏感内容,则可能需要考虑将其嵌入到Flash Blob或DRM的PDF中。这些仍然可以进行逆向工程,但是攻击者的智能程度将有所提高。

以上是 如何禁用复制粘贴(浏览器) 的全部内容, 来源链接: utcz.com/qa/423508.html

回到顶部