为了防止非法的调试和修改,同时限制别人使用python爬虫,盗取自己网站的数据,我们需要在写一段代码来防止非法入侵调试,增加网站的安全性
(() => {function block() {if (window.outerHeight - window.innerHeight > 200 || window.outerWidth - window.innerWidth > 200) {document.body.innerHTML = "检测到非法调试,请关闭后刷新重试!";}setInterval(() => {(function () {return false;}['constructor']('debugger')['call']());}, 50);}try {block();} catch (err) { }
})();
原理:
使用无限 debugger,主要是通过不断 debugger 来疯狂输出断点,因为 debugger 在控制台被打开的时候就会执行,程序就会被断点,不能往下执行
- 为了让自己写出来的代码更加的晦涩难懂,需要对上面的代码再优化一下
将 Function(‘debugger’).call()改成 (function(){return false;})‘constructor’‘call’; - 并且添加条件,当窗口外部宽高和内部宽高的差值大于一定的值 ,我把 body 里的内容换成指定内容
- 当然使用的时候,为了更加的安全,最好加密后再使用