技术教程
将以下代码添加在网站首页的代码中即可实现。
<script type="text/javascript">
// 禁止鼠标右击
document.oncontextmenu = function() {
return false;
};
// 禁用开发者工具F12
document.onkeydown = document.onkeyup = document.onkeypress = function(event) {
let e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 123) {
e.returnValue = false;
return false;
}
};
// 检测浏览器类型
let userAgent = navigator.userAgent;
if (userAgent.indexOf("Firefox") > -1) {
// Firefox浏览器特定操作
let checkStatus;
let devtools = /./;
devtools.toString = function() {
checkStatus = "on";
};
setInterval(function() {
checkStatus = "off";
console.log(devtools);
console.log(checkStatus);
console.clear();
if (checkStatus === "on") {
try {
window.open("about:blank", "_self");
} catch (err) {
let a = document.createElement("button");
a.onclick = function() {
window.open("about:blank", "_self");
};
a.click();
}
}
}, 200);
} else {
// 非Firefox浏览器特定操作
let ConsoleManager = {
onOpen: function() {
alert("Console is opened");
},
onClose: function() {
alert("Console is closed");
},
init: function() {
let self = this;
let x = document.createElement("div");
let isOpening = false,
isOpened = false;
Object.defineProperty(x, "id", {
get: function() {
if (!isOpening) {
self.onOpen();
isOpening = true;
}
isOpened = true;
return true;
}
});
setInterval(function() {
isOpened = false;
console.info(x);
console.clear();
if (!isOpened && isOpening) {
self.onClose();
isOpening = false;
}
}, 200);
}
};
ConsoleManager.onOpen = function() {
// 打开控制台,跳转
try {
window.open("about:blank", "_self");
} catch (err) {
let a = document.createElement("button");
a.onclick = function() {
window.open("about:blank", "_self");
};
a.click();
}
};
ConsoleManager.onClose = function() {
alert("Console is closed!");
};
ConsoleManager.init();
}
// 定时检测函数
setInterval(function() {
check();
}, 1000);
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();
</script>
© 版权声明
THE END
暂无评论内容