直接上代码:
<script>
// 定义尝试关闭当前窗口并导航至空白页的函数
function fuckyou() {
window.close(); // 尝试关闭当前窗口
window.location = "about:blank"; // 导航至空白页
}
// 使用console的profile方法来检测调试
function ck() {
console.profile();
console.profileEnd();
if (console.clear) {
console.clear();
};
if (typeof console.profiles == "object") {
return console.profiles.length > 0;
}
}
// 检测Firebug等调试工具,若发现则调用fuckyou
function hehe() {
if ((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) ||
(typeof opera == 'object' && typeof opera.postError == 'function' && console.profile.length > 0)) {
fuckyou();
}
if (typeof console.profiles == "object" && console.profiles.length > 0) {
fuckyou();
}
}
// 更全面的开发者工具打开检测
function comprehensiveCheck() {
if (ck() || window.outerHeight - window.innerHeight > 200 || window.outerWidth - window.innerWidth > 200) {
fuckyou();
}
}
// 重新定义检测窗口尺寸变化的方法
function onWindowSizeChange() {
// 检测工具栏的高度
var threshold = 160; // 设置一个阈值,因为开发者工具的高度通常会超过这个值
var diffHeight = window.outerHeight - window.innerHeight;
var diffWidth = window.outerWidth - window.innerWidth;
if (diffHeight > threshold || diffWidth > threshold) {
fuckyou();
}
}
// 防止使用右键菜单和F12
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
document.addEventListener('keydown', function(e) {
if (e.keyCode === 123) { // F12
e.preventDefault();
}
});
// 页面加载和尺寸变化时的操作
window.onload = function() {
hehe();
comprehensiveCheck();
setInterval(function() {
hehe();
comprehensiveCheck();
}, 2000);
};
// 在窗口尺寸变化时,调用修改后的检测函数
window.onresize = onWindowSizeChange;
</script>
不拦截管理员
后端代码fuc.php添加
//判断是否是管理员
function check_if_user_is_admin() {
if (current_user_can('administrator')) {
echo "var isUserAdmin = true;";
} else {
echo "var isUserAdmin = false;";
}
}
add_action('wp_head', 'check_if_user_is_admin');
前端代码
<script>
if (typeof isUserAdmin !== 'undefined' && isUserAdmin) {} else {
// 定义尝试关闭当前窗口并导航至空白页的函数
function fuckyou() {
window.close(); // 尝试关闭当前窗口
window.location = "about:blank"; // 导航至空白页
}
// 使用console的profile方法来检测调试
function ck() {
console.profile();
console.profileEnd();
if (console.clear) {
console.clear();
};
if (typeof console.profiles == "object") {
return console.profiles.length > 0;
}
}
// 检测Firebug等调试工具,若发现则调用fuckyou
function hehe() {
if ((window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) ||
(typeof opera == 'object' && typeof opera.postError == 'function' && console.profile.length > 0)) {
fuckyou();
}
if (typeof console.profiles == "object" && console.profiles.length > 0) {
fuckyou();
}
}
// 更全面的开发者工具打开检测
function comprehensiveCheck() {
if (ck() || window.outerHeight - window.innerHeight > 200 || window.outerWidth - window.innerWidth > 200) {
fuckyou();
}
}
// 重新定义检测窗口尺寸变化的方法
function onWindowSizeChange() {
// 检测工具栏的高度
var threshold = 160; // 设置一个阈值,因为开发者工具的高度通常会超过这个值
var diffHeight = window.outerHeight - window.innerHeight;
var diffWidth = window.outerWidth - window.innerWidth;
if (diffHeight > threshold || diffWidth > threshold) {
fuckyou();
}
}
// 防止使用右键菜单和F12
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
});
document.addEventListener('keydown', function(e) {
if (e.keyCode === 123) { // F12
e.preventDefault();
}
});
// 页面加载和尺寸变化时的操作
window.onload = function() {
hehe();
comprehensiveCheck();
setInterval(function() {
hehe();
comprehensiveCheck();
}, 2000);
};
// 在窗口尺寸变化时,调用修改后的检测函数
window.onresize = onWindowSizeChange;
}
</script>