js代码屏蔽开发者工具

防止使用开发者工具对代码进行调试

js可以加入如下代码:

  1 <script type="text/javascript">
  2 
  3 //禁止鼠标右击
  4    document.oncontextmenu = function() {
  5      event.returnValue = false;
  6    };
  7    //禁用开发者工具F12
  8    document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
  9      let e = event || window.event || arguments.callee.caller.arguments[0];
 10      if (e && e.keyCode == 123) {
 11        e.returnValue = false;
 12        return false;
 13      }
 14    };
 15    let userAgent = navigator.userAgent;
 16    if (userAgent.indexOf("Firefox") > -1) {
 17      let checkStatus;
 18      let devtools = /./;
 19      devtools.toString = function() {
 20        checkStatus = "on";
 21      };
 22      setInterval(function() {
 23        checkStatus = "off";
 24        console.log(devtools);
 25        console.log(checkStatus);
 26        console.clear();
 27        if (checkStatus === "on") {
 28          let target = "";
 29          try {
 30            window.open("about:blank", (target = "_self"));
 31          } catch (err) {
 32            let a = document.createElement("button");
 33            a.onclick = function() {
 34              window.open("about:blank", (target = "_self"));
 35            };
 36            a.click();
 37          }
 38        }
 39      }, 200);
 40    } else {
 41      //禁用控制台
 42      let ConsoleManager = {
 43        onOpen: function() {
 44          alert("Console is opened");
 45        },
 46        onClose: function() {
 47          alert("Console is closed");
 48        },
 49        init: function() {
 50          let self = this;
 51          let x = document.createElement("div");
 52          let isOpening = false,
 53            isOpened = false;
 54          Object.defineProperty(x, "id", {
 55            get: function() {
 56              if (!isOpening) {
 57                self.onOpen();
 58                isOpening = true;
 59              }
 60              isOpened = true;
 61              return true;
 62            }
 63          });
 64          setInterval(function() {
 65            isOpened = false;
 66            console.info(x);
 67            console.clear();
 68            if (!isOpened && isOpening) {
 69              self.onClose();
 70              isOpening = false;
 71            }
 72          }, 200);
 73        }
 74      };
 75      ConsoleManager.onOpen = function() {
 76        //打开控制台,跳转
 77        let target = "";
 78        try {
 79          window.open("about:blank", (target = "_self"));
 80        } catch (err) {
 81          let a = document.createElement("button");
 82          a.onclick = function() {
 83            window.open("about:blank", (target = "_self"));
 84          };
 85          a.click();
 86        }
 87      };
 88      ConsoleManager.onClose = function() {
 89        alert("Console is closed!!!!!");
 90      };
 91      ConsoleManager.init();
 92    }
 93 
 94    setInterval(function () {
 95        check()
 96    }, 1000);
 97    var check = function () {
 98        function doCheck(a) {
 99            if (("" + a / a)["length"] !== 1 || a % 20 === 0) {
100                (function () { }
101                ["constructor"]("debugger")())
102            } else {
103                (function () { }
104                ["constructor"]("debugger")())
105            }
106            doCheck(++a)
107        }
108        try {
109            doCheck(0)
110        } catch (err) { }
111    };
112    check(); 
113    window.οncοntextmenu = function () { return false; };
114    window.onkeydown = window.onkeyup = window.onkeypress = function () {
115        window.event.returnValue = false;
116        return false;
117    };
118    var h = window.innerHeight,
119        w = window.innerWidth;
120    window.onresize = function () {
121        if (h != window.innerHeight || w != window.innerWidth) {
122               window.location = "";
123        }
124    };
125    </script>

 

posted @ 2022-01-07 10:49  Sappy  阅读(672)  评论(0编辑  收藏  举报