禁止非法调试!请关闭开发者工具!

全国计算机技术与软件专业技术(水平)考试成绩查询

对于2010年上半年之后的仅能查询自己的证书,想着通过开发者调试工具,是否可以查询验证其它人证书的有效性。提示:禁止非法调试!请关闭开发者工具!

禁止调试的实现原理主要是通过在代码中使用"debugger"关键字来阻止调试操作。当代码运行到该关键字处时,程序会暂停执行,从而阻止进一步的调试操作。要实现这一机制,关键在于开发者工具的检测。"debugger"关键字不仅仅用于阻止调试,同时也可用于判断开发者工具是否已打开。查看源代码如下(1、200ms定时探测;2、当开发者工具被打开时,"debugger"关键字将导致程序停止执行,从而产生一个时间间隔。):

layui.use(['jquery'], function () {
    var $ = layui.jquery;
    var div = document.createElement('div');
    var loop = setInterval(function () {
        console.log(div);
        console.clear();
    }, 200);

    Object.defineProperty(div, "id", {
        get: function () {
            clearInterval(loop);
            alert("禁止非法调试!请关闭开发者工具!")
            setInterval(breakDebugger, 100);//防止其他外部调试
        }
    });

    function checkDebugger() {
        var d = new Date();
        debugger;
        var dur = Date.now() - d;
        if (dur < 5) {
            return false;
        } else {
            alert("禁止非法调试!请关闭开发者工具!")
            return true;
        }
    }
    function breakDebugger() { if (checkDebugger()) { breakDebugger(); } }

    //其他扩展:

    //禁止右键
    $(document).bind("contextmenu", function () { return false; });
    var preventCtrl = function (e) {

        if (e.keyCode === 123) { //屏蔽F12 
            e.preventDefault();
            return false;
        } else if (e.keyCode === 17) { //ctrl
            console.log("prevent keycode s");
            document.onkeydown = preventS;
            return false;
        }
        return true;
    }

    var preventS = function (e) {
        if (e.keyCode === 123 || e.keyCode === 83) { //屏蔽F12 ctrl
            e.preventDefault();
            return false;
        }
        return true;
    }

    var nopreventS = function (e) {
        if (e.keyCode === 17) {
            console.log("no prevent keycode s");
            document.onkeydown = preventCtrl;
        }

    }

    //屏蔽f12, ctrl
    document.onkeydown = preventCtrl;
    document.onkeyup = nopreventS;

})
建议大家在重要的交易也增加这样的设置,增强破解的难度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徒步@天涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值