当前位置: 首页 > 面试题库 >

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

程鸿煊
2023-03-14
问题内容

我正在尝试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中。这些仍然可以进行逆向工程,但是攻击者的智能程度将有所提高。



 类似资料:
  • 问题内容: 我的.emacs中有(cua-mode t),因此Cc是复制的,而Cv是粘贴的,就像桌面上的其他大多数程序(Ubuntu,Gnome,Linux)一样。但是,Emacs似乎并未与其他程序共享剪贴板/复制缓冲区。 例如,如果我在Firefox中使用Cc,则可以将SCv粘贴到终端中,或者将Cv粘贴到gedit中。但是,如果我在emacs中使用Cv(或Cy),则无法获得从Firefox复制的

  • 本文向大家介绍JavaScript禁止复制与粘贴的实现代码,包括了JavaScript禁止复制与粘贴的实现代码的使用技巧和注意事项,需要的朋友参考一下 该操作是网民日常的一些基本操作,但有些网站为了保护版权(如小说类、图片类),禁止用户执行这些操作,这样就可以防止用户将正在浏览的文本,通过复制、粘贴的方式进行传播了。 oncopy事件: 定义和用法 oncopy 事件在用户拷贝元素上的内容时触发。

  • 嗨,我正在制作自定义拨号器,因此我创建了自己的输入板。 问题是我如何禁用EditText但仍然允许剪切/复制/粘贴?股票拨号器可以做到这一点。 我已经尝试了,但它禁用了剪切/复制(虽然仍然可以粘贴)。 我还尝试通过编程禁用,这将禁用所有三个命令: 从清单中禁用它也不起作用: 有解决办法吗?谢谢

  • 使用“复制链接”按钮复制链接 导航到其他输入/文本字段 用Ctrl+V粘贴到字段中,并读取该字段的内容以验证 我的测试: 但是,没有任何内容粘贴到该输入(和return)。 谢了!

  • 下面列出了完整的代码,我正在将数据透视表中DB10单元格的数据复制到Checklist表中的第N列--还要注意Checklist表中的行是动态的,每周增长3018行...这是减慢处理时间的部分(我对其进行了计时,在运行代码时完成处理需要大约8分钟)这部分是减慢处理速度的地方: 完整代码: