禁用复制和右键仅提升普通用户操作门槛,无法真正防盗;需通过contextmenu、selectstart、copy事件阻止并配合CSS user-select:none,但无法禁用开发者工具,敏感内容应由服务端控制权限。

直接禁用复制和右键并不能真正防盗,但可以增加普通用户随意复制网页内容的门槛。JavaScript 中通过阻止默认事件行为(preventDefault)配合监听关键事件,能快速实现基础防护。
禁止鼠标右键菜单
监听 contextmenu 事件,在触发时调用 event.preventDefault() 即可阻止浏览器默认右键菜单弹出。
document.addEventListener('contextmenu', function (e) {
e.preventDefault();
});
注意:该事件需绑定在 document 上才能全局生效;若只绑在某个 div,仅对该区域有效。
禁止选中与复制(文字层面)
可通过 CSS 配合 JS 双重限制:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
- CSS 层面:给目标区域设置
user-select: none;(禁用鼠标选中) - JS 层面:监听
selectstart和copy事件并阻止
// 禁止选中
document.addEventListener('selectstart', function (e) {
e.preventDefault();
});
// 禁止复制(Ctrl+C / 右键复制等)
document.addEventListener('copy', function (e) {
e.preventDefault();
});
补充防护:禁用开发者工具?
不能。JavaScript 无法禁用 F12、Ctrl+Shift+I 或审查元素功能——这是浏览器安全策略决定的,任何所谓“禁用控制台”的脚本都可被绕过(如禁用后直接刷新、禁用 JS 再打开)。这类操作只影响体验,不提升安全性。
重要提醒:这不是真正的防盗
以上方法仅对普通访客起作用,无法防止:
- 截图、录屏
- 禁用 JavaScript 后完全失效
- 从网络面板查看原始响应(HTML/JSON/API)
- 通过页面源码或缓存获取内容
真正敏感的内容(如付费文章、加密资源)应放在服务端校验权限,前端展示前做水印、分片加载或动态渲染,而非依赖客户端 JS 阻止事件。

















