[反调试]审查元素清空页面或重定向
为防止用户通过浏览器审查元素代码,以保护网页内容的安全性和隐私性。以下是一个反调试示例代码,可以阻止用户通过审查元素查看网页源代码,变量为1时清空页面内容,变量为2时重定向到指定页面。
反调试脚本:
function checkDevTools() { const threshold = 160; const devtoolsOpen = window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold; if (devtoolsOpen) { /* * debugprotect = * 1: 审查元素时->[清空页面内容] * 2: 审查元素时->[重定向到指定页面] */ const debugprotect = '1'; switch (debugprotect) { case '1': document.documentElement.parentNode.replaceChild(document.createElement('html'), document.documentElement); break; case '2': window.location.href = 'https://www.toyean.com/'; break; } } } setInterval(checkDevTools, 100);
完整代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>[反调试]审查元素清空页面或重定向-拓源网</title> <script> function checkDevTools() { const threshold = 160; const devtoolsOpen = window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold; if (devtoolsOpen) { /* * debugprotect = * 1: 审查元素时->[清空页面内容] * 2: 审查元素时->[重定向到指定页面] */ const debugprotect = '1'; switch (debugprotect) { case '1': document.documentElement.parentNode.replaceChild(document.createElement('html'), document.documentElement); break; case '2': window.location.href = 'https://www.toyean.com/'; break; } } } setInterval(checkDevTools, 100); </script> </head> <body> <p>热爱可抵 岁月漫长!</p> </body> </html>
猛戳查看->演示效果
需要注意的是,反调试方法并非绝对可靠,一些高级用户仍可能绕过限制。
以下是绕过限制的方法介绍,和升级后的反调试代码,增加了performance检测、禁用鼠标右键、禁用选中文本、禁用复制文本、无限debugger、以及禁用调试快捷键等: