如何禁用复制粘贴(浏览器)
我正在尝试2个替代方法:
- 忽略右键
- 忽略
ctrl
+C
,ctrl
+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