卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章1829本站已运行4109

屏蔽网页各种功能代码 无限debug 禁止F12 禁止右键 禁止剪辑复制 功能代码

//屏蔽右键菜单
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;
        }
}//屏蔽剪切
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;
        }
}//禁止f12
function fuckyou() {
        window.close(); //关闭当前窗口(防抽)
        window.location = "about:blank"; //将当前窗口跳转置空白页
}//禁止Ctrl+U
var arr = [123, 17, 18];
document.oncontextmenu = new Function("event.returnValue=false;"), //禁用右键
window.onkeydown = function (e) {
        var keyCode = e.keyCode || e.which || e.charCode;
    var ctrlKey = e.ctrlKey || e.metaKey;
    console.log(keyCode + "--" + keyCode);
    if (ctrlKey && keyCode == 85) {
                e.preventDefault();
    }
    if (arr.indexOf(keyCode) > -1) {
                e.preventDefault();
    }
}
function ck() {
        console.profile();
        console.profileEnd();
        //我们判断一下profiles里面有没有东西,如果有,肯定有人按F12了,没错!!
        if (console.clear) {
                console.clear()
        };
        if (typeof console.profiles == "object") {
                return console.profiles.length > 0;
        }
}
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();
        }
}
hehe();
window.onresize = function () {
        if ((window.outerHeight - window.innerHeight) > 200)
    //判断当前窗口内页高度和窗口高度,如果差值大于200,那么呵呵
    fuckyou();
}
document.onkeydown = function (event) {
        if ((event.keyCode == 112) || //屏蔽 F1
                (event.keyCode == 113) || //屏蔽 F2
                (event.keyCode == 114) || //屏蔽 F3
                (event.keyCode == 115) || //屏蔽 F4
                // (event.keyCode == 116) || //屏蔽 F5
                (event.keyCode == 117) || //屏蔽 F6
                (event.keyCode == 118) || //屏蔽 F7
                (event.keyCode == 119) || //屏蔽 F8
                (event.keyCode == 120) || //屏蔽 F9
                (event.keyCode == 121) || //屏蔽 F10
                (event.keyCode == 122) || //屏蔽 F11
                (event.keyCode == 123)) { //屏蔽 F12
                return false;
        }
}
window.onhelp = function () {
        return false;
};
function forbidKeyboard() {
        $(document).keydown(function(e) {
                /*9:Tab键, 17:Control键, 18:Alt键, 123:F12键, 83:S键*/
                var keyboardCode = [9, 17, 18];
                for (i in keyboardCode) {
                        if (keyboardCode[i] == e.keyCode) {
                                return false;
                        }
                }
                if ((e.keyCode == 83) && (e.ctrlKey || e.metaKey)) {
                        return false;
                }
        });
        /*禁止文本选择功能*/
        $(document).bind("selectstart",function(){return false;});
}
$(function(){
        forbidKeyboard();
});
如果碰到了各种屏蔽功能怎么办
看到了这么多的函数,那就都重写一下吧,不知道为什么这样子重写的小伙伴可以参考一下
window.addEventListener('beforeunload', function (e) { e.preventDefault();e.returnValue = '' });
// 重定义事件处理函数为空函数
    document.oncontextmenu = function() {};
    document.oncut = function() {};
    window.onkeydown = function() {};
    window.onresize = function() {};
    window.onhelp = function() {};

    // 等待DOM完全加载
    window.addEventListener('load', function() {

        // 在尝试覆盖它们之前检查函数是否存在
        var originalFuckYou = window.fuckyou || function() {};
        var originalCk = window.ck || function() {};
        var originalHehe = window.hehe || function() {};
        var originalForbidKeyboard = window.forbidKeyboard || function() {};

        // 覆盖函数
        window.fuckyou = function() {
            console.log("fuckyou 函数现在为空。");
            // 可选地,如果需要可以调用原始函数
            // originalFuckYou();
        };

        window.ck = function() {
            console.log("ck 函数现在为空。");
            // originalCk();
        };

        window.hehe = function() {
            console.log("hehe 函数现在为空。");
            // originalHehe();
        };

        window.forbidKeyboard = function() {
            console.log("forbidKeyboard 函数现在为空。");
            // originalForbidKeyboard();
        };

        // 尝试移除通过jQuery绑定的事件监听器,如果它们存在
        try {
            $(document).off("keydown");
            $(document).off("selectstart");
        } catch (e) {
            console.log("未能移除 jQuery 事件绑定,或 jQuery 未加载。");
        }
    });
然后把以上代码放到油猴脚本里面,万事搞定,以下是油猴脚本
// ==UserScript==
// home.php?mod=space&uid=170990         头号老玩家解除限制
// home.php?mod=space&uid=467642    http://tampermonkey.net/
// home.php?mod=space&uid=1248337      2024-04-23
// @description  头号老玩家解除限制,使得可以右键菜单、剪切、Ctrl+U、F1~F12、文本选择、Tab键、Control键、Alt键
// home.php?mod=space&uid=686208       hualy
// home.php?mod=space&uid=195849        https://www.thlaowanjia.com/3554.html
// home.php?mod=space&uid=593100         https://www.google.com/s2/favicons?sz=64&domain=thlaowanjia.com
// home.php?mod=space&uid=609072        none
// ==/UserScript==

(function() {
    'use strict';

// 测试使用
    // window.addEventListener('beforeunload', function (e) { e.preventDefault();e.returnValue = '' });

// 重定义事件处理函数为空函数
    document.oncontextmenu = function() {};
    document.oncut = function() {};
    window.onkeydown = function() {};
    window.onresize = function() {};
    window.onhelp = function() {};

    // 等待DOM完全加载
    window.addEventListener('load', function() {

        // 在尝试覆盖它们之前检查函数是否存在
        var originalFuckYou = window.fuckyou || function() {};
        var originalCk = window.ck || function() {};
        var originalHehe = window.hehe || function() {};
        var originalForbidKeyboard = window.forbidKeyboard || function() {};

        // 覆盖函数
        window.fuckyou = function() {
            console.log("fuckyou 函数现在为空。");
            // 可选地,如果需要可以调用原始函数
            // originalFuckYou();
        };

        window.ck = function() {
            console.log("ck 函数现在为空。");
            // originalCk();
        };

        window.hehe = function() {
            console.log("hehe 函数现在为空。");
            // originalHehe();
        };

        window.forbidKeyboard = function() {
            console.log("forbidKeyboard 函数现在为空。");
            // originalForbidKeyboard();
        };

        // 尝试移除通过jQuery绑定的事件监听器,如果它们存在
        try {
            $(document).off("keydown");
            $(document).off("selectstart");
        } catch (e) {
            console.log("未能移除 jQuery 事件绑定,或 jQuery 未加载。");
        }
    });

    // 如果这些函数是通过页面中的其他脚本定义的,并且定义在油猴脚本之前,
    // 它们可能在油猴脚本运行之前就已经执行了,因此直接覆盖可能不会有效。
    // 为了处理这种情况,我们可以使用一个Mutation Observer来监视新的script元素被添加。
    // 这更复杂,但根据具体情况可能并非必要。

})();
 
卓越飞翔博客
上一篇: php 实现txt转excel脚本
下一篇: Java版 腾讯视频真实地址解析源码 (已失效解析出来的只有3分钟)

相关推荐

留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏