欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 防止用户调试网页的若干方法

防止用户调试网页的若干方法

2025/3/19 11:45:06 来源:https://blog.csdn.net/zerolea/article/details/146345640  浏览:    关键词:防止用户调试网页的若干方法

1、禁用鼠标右键

document.addEventListener('contextmenu', function (e) {e.preventDefault();
});

2、禁止F12或其他打开调试面板的快捷键

document.addEventListener('keydown', function (event) {if (event.key == "F12" || (event.ctrlKey && event.shiftKey && (event.key === 'I' || event.key === 'C'))) {event.preventDefault(); // F12, Control+Shift+I, Control+Shift+C}
}, true);

3、debugger检测

setInterval(() => {let yy1 = performance.now();debugger;let yy2 = performance.now();if (yy2 - yy1 > 111) {window.location.href = 'about:blank';}
}, 1111);

performance.now()返回高精度时间戳

打开调试面板时会停留在debugger行,从而导致if成立。

4、判断当前环境,并整合代码

// stop.js
if (process.env.NODE_ENV == 'production') {setInterval(() => {let yy1 = performance.now();debugger;let yy2 = performance.now();if (yy2 - yy1 > 111) {window.location.href = 'about:blank';}}, 1111);document.addEventListener('contextmenu', function (e) {e.preventDefault();});document.addEventListener('keydown', function (event) {if (event.key == "F12" || (event.ctrlKey && event.shiftKey && (event.key === 'I' || event.key === 'C'))) {event.preventDefault(); // F12, Control+Shift+I, Control+Shift+C}}, true);
}

最后在main.js中引入,就完成了

5、局限性

即便禁用鼠标右键、F12、快捷键,浏览器仍然能打开调试面板

打开之后还能通过下面这个按钮禁用断点,所有的努力白费~~~

所以前端的代码运行在魔鬼计算机上,后端安全才是王道~~~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词