首页 > 技术文章 > 前端禁止使用F12、禁止右键

sansui6 2021-07-24 19:37 原文

打开控制台直接跳转页面

//debug调试时跳转页面
var element = new Image();
Object.defineProperty(element,'id',{get:function(){window.location.href="https://www.baidu.com"}});
console.log(element);

打开控制台,页面内容显示"检测到非法调试,请关闭后刷新重试!"

// 反调试函数,参数:开关,执行代码
function endebug(off, code) {
    if (!off) {
        ! function (e) {
            function n(e) {
                function n() {
                    return u;
                }

                function o() {
                    window.Firebug && window.Firebug.chrome && window.Firebug.chrome.isInitialized ? t("on") : (a = "off", console.log(d), console.clear(), t(a));
                }

                function t(e) {
                    u !== e && (u = e, "function" == typeof c.onchange && c.onchange(e));
                }

                function r() {
                    l || (l = !0, window.removeEventListener("resize", o), clearInterval(f));
                }
                "function" == typeof e && (e = {
                    onchange: e
                });
                var i = (e = e || {}).delay || 500,
                    c = {};
                c.onchange = e.onchange;
                var a, d = new Image;
                d.__defineGetter__("id", function () {
                    a = "on"
                });
                var u = "unknown";
                c.getStatus = n;
                var f = setInterval(o, i);
                window.addEventListener("resize", o);
                var l;
                return c.free = r, c;
            }
            var o = o || {};
            o.create = n, "function" == typeof define ? (define.amd || define.cmd) && define(function () {
                return o
            }) : "undefined" != typeof module && module.exports ? module.exports = o : window.jdetects = o
        }(), jdetects.create(function (e) {
            var a = 0;
            var n = setInterval(function () {
                if ("on" == e) {
                    setTimeout(function () {
                        if (a == 0) {
                            a = 1;
                            setTimeout(code);
                        }
                    }, 200);
                }
            }, 100);
        })
    }
}

endebug(false, function () {
    // 非法调试执行的代码(不要使用控制台输出的提醒)
    // document.write("检测到非法调试,请关闭后刷新重试!");
    document.write('<h1 style="font-size:36px;color:red;text-align:center;margin-top:30vh;">检测到非法调试,请关闭调试后刷新页面进行阅读!</h1>');
});

以上内容参考以下文章:

前端页面禁止调试debugger方法汇总

//禁止使用右键
function click(){
if(event.button==2){
alert('右键已经被禁用了喔!')
}
}
document.onmousedown=click;
//禁止使用F12
window.onkeydown = window.onkeyup = window.onkeypress = function (event) {
// 判断是否按下F12,F12键码为123
if (event.keyCode === 123) {
event.preventDefault(); // 阻止默认事件行为
window.event.returnValue = false;
}
};

推荐阅读