前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 实现阻碍调试

JavaScript 实现阻碍调试

作者头像
微软技术分享
发布2022-12-28 16:30:05
5850
发布2022-12-28 16:30:05

先将鼠标改为禁用状态,第一步

代码语言:javascript
复制
body:hover{
        cursor:not-allowed;
    }

设置禁用NoScript

代码语言:javascript
复制
<noscript><iframe class="iframe_display" src="";</iframe></noscript>

禁用掉键盘的全部按键(键盘报废)

代码语言:javascript
复制
$(document).ready(function () {
 document.body.onkeydown = function (event) {
 if (window.event) {
 //alert("不允许使用任何键盘按键");
 return false;
}
}
});

实现全屏爆炸:这段代码很简单,当按下调试键的时候,全屏都是乱码,所有标签里都会填充为乱码,轻则直接可以让浏览器崩溃,经测试有些系统则可能会蓝屏!(慎用)

代码语言:javascript
复制
<script type="text/javascript">
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
    if(event.keyCode==123)
    {
        for( i=0;i<99999999999;i++){
        $("body div").append("TIHI!@#$%^&*()_+)()*&*^&TGYGJGYGuygT^&6746t78t78g785tgyuGGIUGOIUB&^Y(*^&^$$&*G*GUIGUOUIYUIT&*%$^%#^%ER^%RF&FGIY*G*&^T*(G*O");
        }
    }
}
</script>

禁用F12调试键

代码语言:javascript
复制
<script type="text/javascript">
// 临时性,禁用F12调试器
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
    // 判断是否按下F12,F12键码为123
    if (event.keyCode === 123) {
        event.preventDefault(); // 阻止默认事件行为
        window.event.returnValue = false;
    }
}
</script>

禁用页面的ctrl功能,来禁止ctrl+S保存功能

代码语言:javascript
复制
<script type="text/javascript">
//禁用页面的ctrl功能,来禁止ctrl+S保存功能
window.addEventListener('keydown', function (e) {
    if(e.keyCode == 83 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)){
        e.preventDefault();
    }
})
</script>

禁用页面的ctrl功能,来禁止ctrl+C保存功能

代码语言:javascript
复制
//禁用页面的ctrl功能,来禁止ctrl+C保存功能
window.addEventListener('keydown', function (e) {
    if(e.keyCode == 67 && (navigator.platform.match('Mac') ? e.metaKey : e.ctrlKey)){
        e.preventDefault();
    }
})

为右键添加自定义事件,禁用菜单右键!

代码语言:javascript
复制
// 为右键添加自定义事件,禁用菜单右键!
window.oncontextmenu = function() {
    event.preventDefault(); // 阻止默认事件行为
    return false;
}

当通过特殊途径打开浏览器调试窗口时,会无限刷新,导致无法调试

代码语言:javascript
复制
// 无限回写,阻碍调试
var x = document.createElement('div');
var isOpening = false;
Object.defineProperty(x, 'id', {
  get:function(){
     console.log("警告!控制台已被打开!");
      window.location.reload()
  }
});
console.info(x);

屏蔽Ctrl+Shift+I

代码语言:javascript
复制
//屏蔽Ctrl+Shift+I
window.addEventListener('keydown', function (e) {
    if((e.ctrlKey) && (e.shiftKey) && (e.keyCode == 73)){
        e.preventDefault();
    }
})

通过HTML实现反调试

代码语言:javascript
复制
<body leftmargin=0 topmargin=0 oncontextmenu='return false' ondragstart='return false' onselectstart ='return false' onselect='document.selection.empty()' oncopy='document.selection.empty()' onbeforecopy='return false' onmouseup='document.selection.empty()'>

<noscript> 
<iframe src="*.htm"></iframe> 
</noscript>

<body onmousemove=/HideMenu()/ oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false" onmouseup="document.selection.empty()">

实现自动跳转到百度

代码语言:javascript
复制
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
        event.preventDefault();
        window.event.returnValue = false;
}
window.oncontextmenu = function() {
    event.preventDefault();
    return false;
}

var threshold = 160; 
window.setInterval(function() {  
    if (window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold){    
        window.location.href="https://www.baidu.com";
}
},100);

头部防范

代码语言:javascript
复制
<body leftmargin="2" topmargin="0" marginwidth="0" marginheight="0" oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onbeforecopy="return false">
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档