网站LOGO
静若安然
页面加载中
10月6日
网站LOGO 静若安然
记录个人学习生活和成长历程
菜单
  • 静若安然
    记录个人学习生活和成长历程
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    Web JavaScript 防调试
    点击复制本页信息
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。

    Web JavaScript 防调试

    Akria · 原创 ·
    前端开发 · Web开发
    共 8077 字 · 约 1 分钟 · 6034
    本文最后更新于2024年01月27日,已经过了253天没有更新,若内容或图片失效,请留言反馈

    屏蔽键盘按键

    屏蔽F12

    • 禁用F12,并弹出提示框
    javascript 代码:
    //只屏蔽F12 并提示
    document.onkeydown = function(){
      if(window.event && window.event.keyCode == 123) {
        alert("F12被禁用");
        event.keyCode=0;
        event.returnValue=false;
      }
      if(window.event && window.event.keyCode == 13) {
        window.event.keyCode = 505;
      }
      if(window.event && window.event.keyCode == 8) {
        alert(str+"\n请使用Del键进行字符的删除操作!");
        window.event.returnValue=false;
      }
    }
    • 按F12跳转指定页面
    javascript 代码:
    //按住F12空白页面或跳转其他页面
    document.onkeydown = function(){
      
      if(window.event && window.event.keyCode == 123) {
        window.location="about:blank"; //将当前窗口跳转置空白页
        event.keyCode=0;
        event.returnValue=false;
      }
      if(window.event && window.event.keyCode == 13) {
        window.event.keyCode = 505;
      }
      if(window.event && window.event.keyCode == 8) {
        alert(str+"\n请使用Del键进行字符的删除操作!");
        window.event.returnValue=false;
      }
    
    }

    禁止唤起控制台

    javascript 代码:
    $(document).ready(function () {
          document.oncontextmenu = function () {
            return false;
          }
          //document.onselectstart = function () {
           // return false;
         // }
          //document.oncopy = function () {
            //return false;
         // }
          document.onkeydown = function () {
            //f12
            if (window.event && window.event.keyCode == 123) {
              event.keyCode = 0;
              event.returnValue = false;
              layer.msg("别看代码了=.=")
              return false;
            }
            //ctrl+u
            if (event.ctrlKey && window.event.keyCode == 85) {
              return false;
            }
            //ctrl+shift+i
            if ((event.ctrlKey) && (event.shiftKey) && (event.keyCode == 73)) {
              return false;
            }
            // Ctrl+S
            else if ((event.ctrlKey) && (event.keyCode == 83)) {
              return false;
            }
          };
    
        });

    禁止键盘事件

    javascript 代码:
    //禁止任何键盘敲击事件 
        window.onkeydown = window.onkeyup = window.onkeypress = function () { 
            window.event.returnValue = false; 
            return false; 
        }

    屏蔽鼠标操作

    禁用右键

    javascript 代码:
    //禁用右键(防止右键查看源代码) 
        window.oncontextmenu=function(){return false;}
    • 同上
    javascript 代码:
    //屏蔽右键菜单
    document.oncontextmenu = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    屏蔽粘贴

    javascript 代码:
    //屏蔽粘贴
    document.onpaste = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    屏蔽复制

    javascript 代码:
    //屏蔽复制
    document.oncopy = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    屏蔽剪切

    javascript 代码:
    //屏蔽剪切
    document.oncut = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
    return false;
    }
    return true;
    }catch (e){
    return false;
    }
    }

    屏蔽选中

    javascript 代码:
    //屏蔽选中
    document.onselectstart = function (event){
    if(window.event){
    event = window.event;
    }try{
    var the = event.srcElement;
    if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){
    return false;
    }
    return true;
    } catch (e) {
    return false;
    }
    }

    同时禁右键和F12

    javascript 代码:
    //禁右键和F12
    document.oncontextmenu=new Function("event.returnValue=false;"); 
        document.onkeydown=MM_KeyPress;
        function  MM_KeyPress(num){
            var keycODe = event.keyCODe;
            if(keycode ==8)
            {
                event.keyCode = 0;
                return;
            }
            if(keycode >=122 && keycode <=123)
            {
                event.keyCode = 0 ;
                event.returnValue=false;
                return;
            }
        }
        function gg(){
        layer.alert(' ', {
      icon: 1,
      skin: 'layer-ext-moon'
    })
    }
    function click(e) {
    if (document.all) {
    if (event.button==2||event.button==3) { 
    oncontextmenu='return false';
    }
    }
    if (document.layers) {
    if (e.which == 3) {
    oncontextmenu='return false';
    }
    }
    }
    if (document.layers) {
    document.captureEvents(Event.MOUSEDOWN);
    }
    document.onmousedown=click;
    document.oncontextmenu = new Function("return false;")
    document.onkeydown =document.onkeyup = document.onkeypress=function(){
    if(window.event.keyCode == 123) {
    window.event.returnValue=false;
    return(false);
    }
    }

    控制台debugger

    • 禁止调试,并显示提示
    javascript 代码:
    (function noDebuger(){
        function testDebuger(){
            var d=new Date();
            debugger;
            if(new Date()-d>10){
                document.body.innerHTML='<div>年轻人,不要太好奇</div>';
                return true;
            }
            return false;
        }
     
        function start(){
            while(testDebuger()){
                testDebuger();
            }
        }
        if(!testDebuger()) {
            window.onblur = function(){
                setTimeout(function(){
                    start();
                },500)
            }
        }
        else{
            start();
        }
     
    })();

    • 检测调试跳转指定地址
    javascript 代码:
    //检测到打开调试跳转指定地址
    (() => {
    function block() {
    if (
    window.outerHeight - window.innerHeight > 200 ||
    window.outerWidth - window.innerWidth > 200
    ) {
    window.location = "网址";
    }
    setInterval(() => {
    (function () {
    return false;
    }
    ["constructor"]("debugger")
    ["call"]());
    }, 50);
    }
    try {
    block();
    } catch (err) {}
    })();

    • 打开调试,debugger
    javascript 代码:
    //js检测开发者工具Devtools是否打开防调试,中断调试
    setInterval(function() {
      check()
    }, 4000);
    var check = function() {
      function doCheck(a) {
        if (("" + a/a)["length"] !== 1 || a % 20 === 0) {
          (function() {}
          ["constructor"]("debugger")())
        } else {
          (function() {}
          ["constructor"]("debugger")())
        }
        doCheck(++a)
      } 
      try {
        doCheck(0)
      } catch (err) {}
    };
    check();
    • 同上
    js 代码:
    if(window.location.href.indexOf('#debug')==-1){
      setInterval(function(){
        (function (a) {return (function (a) {return (Function('Function(arguments[0]+"' + a + '")()'))})(a)})('bugger')('de', 0, 0, (0, 0));
      }, 1000);
    }

    • 禁右键和F12并提示,debugger
    js 代码:
    function t() {
        var r = "V",
            n = "5",
            e = "8";
     
        function o(r) {
            if (!r) return "";
            for (var t = "", n = 44106, e = 0; e < r.length; e++) {
                var o = r.charCodeAt(e) ^ n;
                n = n * e % 256 + 2333, t += String.fromCharCode(o)
            }
            return t
        }
        try {
            var a = ["r", o("갯"), "g", o("갭"), function (t) {
                if (!t) return "";
                for (var o = "", a = r + n + e + "7", c = 45860, f = 0; f < t.length; f++) {
                    var i = t.charCodeAt(f);
                    c = (c + 1) % a.length, i ^= a.charCodeAt(c), o += String.fromCharCode(i)
                }
                return o
            }("@"), "b", "e", "d"].reverse().join("");
            ! function c(r) {
                (1 !== ("" + r / r).length || 0 === r) && function () {}.constructor(a)(), c(++r)
            }(0)
        } catch (a) {
            setTimeout(t, 100);
        }
    }
    t();
    document.onkeydown = function() {
        if ((e.ctrlKey) && (e.keyCode == 83)) {
            alert("CTRL + S 被管理员禁用");
            return false;
        }
    }
    document.onkeydown = function() {
        var e = window.event || arguments[0];
        if (e.keyCode == 123) {
            alert("F12 被管理员禁用");
            return false;
        }
    }
    document.oncontextmenu = function() {
        alert('右键被管理员禁用');
        return false;
    }
    声明:本文由 Akria(博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。
    我要发表评论 我要发表评论
    博客logo 静若安然 记录个人学习生活和成长历程 51统计 百度统计
    ICP 蜀ICP备2023037012号-1

    💻️ Akria 13分钟前 在线

    🕛

    本站已运行 7 年 41 天 21 小时 30 分
    静若安然. © 2017 ~ 2024.
    网站logo

    静若安然 记录个人学习生活和成长历程
     
     
     
     
     
     
     
     

    2

    1

  • 下一篇