欢迎您访问橙子博客
推荐

JS禁止查看网页源代码的简单实现方法

作者
橙子2024-01-20 18:38 488 浏览
打赏 收藏

在项目开发中有时会遇到不想让别人轻易查看到网站的源代码信息,我们有多种方法可以轻保护自己的网站源码。下面会介绍三种使用JavaScript来保护自己的网站源码的方法:

最常见查看网站源码的无非有这四种:

F12

鼠标右键单击

Ctrl+Shift+I

Ctrl+U

以上的四种方法都可以查看到网站的源代码,我们可以通过使用JavaScript来屏蔽掉这四种状态从而实现禁止查看源代码效果。下面直接放源码。

<script type='text/javascript'>
        const handler = setInterval(function () { console.clear(); const before = new Date(); debugger; const after = new Date(); const cost = after.getTime() - before.getTime(); if (cost > 100) { } }, 1);
        //屏蔽右键菜单
        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.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;
            }
        }
        //屏蔽复制
 
        //屏蔽剪切
        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.open("/", "_blank"); //新窗口打开页面
            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) > 100)
                //判断当前窗口内页高度和窗口高度,如果差值大于100,那么呵呵
                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;
        }
    </script>

‌真正能实现源代码屏蔽的单纯的.html是不可能的!想看源代码也是没办法阻止的。此脚本这只能防止不劳而获的小白,针对计算机老鸟、大神是无法作用的;并且现在很多浏览器自带有查看网页源代码的功能。用TELEPROT 这类网站下载工具可以下载任何文件,相当于做镜像网站。想真正的保护源代码,除非服务器进行安全设置、加密。

打赏 :
分享:
扫码支持 扫码支持
版权声明 1、文章标题:JS禁止查看网页源代码的简单实现方法
2、本文网址:https://www.ther.cn/Web/15.html
3、本站部分内容来源于网络,仅供大家学习与参考,如有侵权,请联系站长邮箱:906080088@qq.com进行处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。

广告