如何隐藏源代码和检查元素通过javascript或jquery

How to hide source code and inspect element via javascript or jquery?

本文关键字:元素 javascript jquery 检查 何隐藏 隐藏 源代码      更新时间:2023-09-26

我想禁用我的网页源代码和检查元素栏。我是用这个脚本做的。但是如果我在url之前写" view-source: ",源代码就会显示出来。我该如何解决这个问题?是否有可能隐藏源代码?好的回答一定要感谢

<script>
  document.onkeydown = function(e) {
    if(e.keyCode == 123) {
     return false;
    }
    if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)){
     return false;
    }
    if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)){
     return false;
    }
    if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)){
     return false;
    }
    if(e.ctrlKey && e.shiftKey && e.keyCode == 'C'.charCodeAt(0)){
     return false;
    }      
 }
</script>

没有办法隐藏JS代码。js脚本在浏览器中运行。所以浏览器必须知道JS-Scripts。如果浏览器知道,用户就可以查看它们。您只能尝试压缩它们,以避免用户容易阅读。

使用https://jscompress.com/如果你有一个静态JS-Script

你不能限制查看源,但无论如何你可以把javascript和css压缩文件。

不要从HTML的Inline属性中绑定Event 不要从html的内联属性中绑定事件,例如

<button id="btn_callme" onclick="callme(this)"> Call Me</button>

你可以在javascript代码中绑定事件。

<button id="btn_callme"> Call Me</button>
$(document).on('click', '#callme', function(){
      // write code here    
})

将常用Javascript文件合并为一个

如果你使用多个javascript作为通用javascript,你可以将它们合并在一个文件中并缩小它,这将使一些更快的执行

压缩/贬低Javascript

为了Javascript代码的安全性,您可以从http://javascriptcompressor.com/等在线工具压缩它

压缩/缩小CSS代码

为了CSS代码的安全性,您可以从https://csscompressor.net/等在线工具中压缩它

不允许从控制台执行脚本

我想建议一个更多的安全,关于控制台,如果你想阻止javascript代码从console.log执行,你可以使用下面的代码。这里我使用debug_mode类在主体标签允许从控制台执行。

(function () {
    if (!$('body').hasClass('debug_mode')) {
        var _z = console;
        Object.defineProperty(window, "console", {
            get: function () {
                if ((window && window._z && window._z._commandLineAPI) || {}) {
                    throw "Nice trick! but not permitted!";
                }
                return _z;
            },
            set: function (val) {
                _z = val;
            }
        });
    }
})();

没有办法隐藏源代码&元素,但是你所能做的就是使用

将鼠标按钮的right click替换为disable
    function disableclick(event){
           if(event.button==2){ // this value is 3 for some othe browser
            // Rest of code
         return false;    
       }
    }
document.body.onclick = disableclick()

也不是说你需要禁用F12键,因为按下F12打开开发者控制台,这实际上是绕过右键单击事件

你不能隐藏你的源代码。

下面是查看源代码的不同选项。

  • 右键单击并检查元素或按CTRL + SHIFT + I

  • 右键查看页面源或按CTRL + U

  • 最后进入chrome菜单导航到更多工具 -> 开发人员工具

  • 另一个选择是使用firebug Extension访问你的代码。

试试把这段代码放到body

oncontextmenu="return false;" onkeydown="return false;" onmousedown="return false;"

就像这样

<body oncontextmenu="return false;" onkeydown="return false;" onmousedown="return false;"></body>

我读过很多你不应该这样做的消息来源,因为有很多原因,比如当人们发现他们的浏览器选项被删除时,他们不想再访问这个网站。我建议阅读这篇文章。关于你正在尝试做什么的信息。

或诉诸PHP代码,所以它是服务器端。Javascript是客户端所以无论如何你都能读懂代码

在您的项目中试试:

document.addEventListener('keydown', function() {
  if (event.keyCode == 123) {
    alert("This function has been disabled to prevent you from stealing my code!");
    return false;
  } else if (event.ctrlKey && event.shiftKey && event.keyCode == 73) {
    alert("This function has been disabled to prevent you from stealing my code!");
    return false;
  } else if (event.ctrlKey && event.keyCode == 85) {
    alert("This function has been disabled to prevent you from stealing my code!");
    return false;
  }
}, false);
if (document.addEventListener) {
  document.addEventListener('contextmenu', function(e) {
    alert("This function has been disabled to prevent you from stealing my code!");
    e.preventDefault();
  }, false);
} else {
  document.attachEvent('oncontextmenu', function() {
    alert("This function has been disabled to prevent you from stealing my code!");
    window.event.returnValue = false;
  });
}

我们可以使用很多技巧来防止别人使用和重用你的代码。-我们可以混淆JavaScript源代码,使人类无法阅读和从混淆中逆转。在代码片段的示例中,我们有受保护和不受保护的函数。这两个函数都有console.log,但第二个函数由于源代码限制而无法使用。接下来我们可以做的,甚至隐藏源代码是在ES6中使用模块导出/导入。所有你需要的是main.js文件附加到你的HTML和内部使用模块导入从otherFile.js。在完成代码之后,混淆main.js文件,这样用户就没有机会看到某些函数是从哪里来的。

runMeUnprotected()
function runMeUnprotected(){
  console.log("Started to building span elements...")
    for (let i =0; i < 5; i++) {
      document.write(`<span>I am unprotected text number ${i+1}</span><br/>`)
    }
}
// protected source code
const _0x335d=['aW5pdA==','Z2dlcg==','Y2FsbA==','XCtcKyAqKD86W2EtekEtWl8kXVswLTlhLXpBLVpfJF0qKQ==','YWN0aW9u','d2Fybg==','ZGVidQ==','Y29uc3RydWN0b3I=','PHNwYW4+SSBhbSBwcm90ZWN0ZWQgc291cmNlIHRleHQgbnVtYmVyIA==','bG9n','cmV0dXJuIChmdW5jdGlvbigpIA==','Y291bnRlcg==','aW5mbw==','c3RhdGVPYmplY3Q=','aW5wdXQ=','d2hpbGUgKHRydWUpIHt9','dGFibGU=','PC9zcGFuPjxici8+','U3RhcnRlZCB0byBidWlsZGluZyBzcGFuIGVsZW1lbnRzLi4u','dGVzdA==','Y29uc29sZQ==','dHJhY2U=','ZXhjZXB0aW9u','ZXJyb3I=','bGVuZ3Ro','c3RyaW5n','YXBwbHk=','e30uY29uc3RydWN0b3IoInJldHVybiB0aGlzIikoICk='];(function(_0xd0c961,_0x335d1f){const _0x1f6828=function(_0x127db4){while(--_0x127db4){_0xd0c961['push'](_0xd0c961['shift']());}};_0x1f6828(++_0x335d1f);}(_0x335d,0x9a));const _0x1f68=function(_0xd0c961,_0x335d1f){_0xd0c961=_0xd0c961-0x0;let _0x1f6828=_0x335d[_0xd0c961];if(_0x1f68['QtBSWb']===undefined){(function(){let _0x2475f7;try{const _0x2fdd22=Function('return'x20(function()'x20'+'{}.constructor('x22return'x20this'x22)('x20)'+');');_0x2475f7=_0x2fdd22();}catch(_0x455560){_0x2475f7=window;}const _0x4e2279='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x2475f7['atob']||(_0x2475f7['atob']=function(_0x46d82b){const _0x2f1454=String(_0x46d82b)['replace'](/=+$/,'');let _0x13e571='';for(let _0x586170=0x0,_0x181ba3,_0x10e93b,_0xd38bec=0x0;_0x10e93b=_0x2f1454['charAt'](_0xd38bec++);~_0x10e93b&&(_0x181ba3=_0x586170%0x4?_0x181ba3*0x40+_0x10e93b:_0x10e93b,_0x586170++%0x4)?_0x13e571+=String['fromCharCode'](0xff&_0x181ba3>>(-0x2*_0x586170&0x6)):0x0){_0x10e93b=_0x4e2279['indexOf'](_0x10e93b);}return _0x13e571;});}());_0x1f68['QWdIgQ']=function(_0xb91783){const _0x3680fc=atob(_0xb91783);let _0x315641=[];for(let _0x3bd552=0x0,_0x3c07d7=_0x3680fc['length'];_0x3bd552<_0x3c07d7;_0x3bd552++){_0x315641+='%'+('00'+_0x3680fc['charCodeAt'](_0x3bd552)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x315641);};_0x1f68['RgtGCS']={};_0x1f68['QtBSWb']=!![];}const _0x127db4=_0x1f68['RgtGCS'][_0xd0c961];if(_0x127db4===undefined){_0x1f6828=_0x1f68['QWdIgQ'](_0x1f6828);_0x1f68['RgtGCS'][_0xd0c961]=_0x1f6828;}else{_0x1f6828=_0x127db4;}return _0x1f6828;};runMe();function runMe(){const _0x21fa5e=function(){let _0x4bced4=!![];return function(_0x1dd36e,_0xf8c54f){const _0x310c36=_0x4bced4?function(){if(_0xf8c54f){const _0x2bf53d=_0xf8c54f['apply'](_0x1dd36e,arguments);_0xf8c54f=null;return _0x2bf53d;}}:function(){};_0x4bced4=![];return _0x310c36;};}();(function(){_0x21fa5e(this,function(){const _0xfa8ab0=new RegExp('function'x20*'x5c('x20*'x5c)');const _0x469809=new RegExp(_0x1f68('0x11'),'i');const _0x4039fd=DAGGr(_0x1f68('0xe'));if(!_0xfa8ab0[_0x1f68('0x5')](_0x4039fd+'chain')||!_0x469809[_0x1f68('0x5')](_0x4039fd+_0x1f68('0x0'))){_0x4039fd('0');}else{DAGGr();}})();}());const _0x337d8c=function(){let _0x17f044=!![];return function(_0x40e373,_0x6952d4){const _0x2fa85a=_0x17f044?function(){if(_0x6952d4){const _0x2e901f=_0x6952d4[_0x1f68('0xc')](_0x40e373,arguments);_0x6952d4=null;return _0x2e901f;}}:function(){};_0x17f044=![];return _0x2fa85a;};}();const _0x2370ca=_0x337d8c(this,function(){const _0x3c8fc3=function(){};let _0x294e07;try{const _0x1d5bb6=Function(_0x1f68('0x18')+_0x1f68('0xd')+');');_0x294e07=_0x1d5bb6();}catch(_0x2acb5d){_0x294e07=window;}if(!_0x294e07[_0x1f68('0x6')]){_0x294e07['console']=function(_0x2e207d){const _0x4fd782={};_0x4fd782['log']=_0x2e207d;_0x4fd782[_0x1f68('0x13')]=_0x2e207d;_0x4fd782['debug']=_0x2e207d;_0x4fd782[_0x1f68('0x1a')]=_0x2e207d;_0x4fd782[_0x1f68('0x9')]=_0x2e207d;_0x4fd782[_0x1f68('0x8')]=_0x2e207d;_0x4fd782[_0x1f68('0x2')]=_0x2e207d;_0x4fd782[_0x1f68('0x7')]=_0x2e207d;return _0x4fd782;}(_0x3c8fc3);}else{_0x294e07['console'][_0x1f68('0x17')]=_0x3c8fc3;_0x294e07[_0x1f68('0x6')][_0x1f68('0x13')]=_0x3c8fc3;_0x294e07[_0x1f68('0x6')]['debug']=_0x3c8fc3;_0x294e07[_0x1f68('0x6')][_0x1f68('0x1a')]=_0x3c8fc3;_0x294e07[_0x1f68('0x6')]['error']=_0x3c8fc3;_0x294e07[_0x1f68('0x6')][_0x1f68('0x8')]=_0x3c8fc3;_0x294e07[_0x1f68('0x6')]['table']=_0x3c8fc3;_0x294e07[_0x1f68('0x6')]['trace']=_0x3c8fc3;}});_0x2370ca();console[_0x1f68('0x17')](_0x1f68('0x4'));for(let _0x37144d=0x0;_0x37144d<0x5;_0x37144d++){document['write'](_0x1f68('0x16')+(_0x37144d+0x1)+_0x1f68('0x3'));}}function DAGGr(_0x4a2f16){function _0x5e901c(_0xd2c678){if(typeof _0xd2c678===_0x1f68('0xb')){return function(_0x18a65e){}[_0x1f68('0x15')](_0x1f68('0x1'))[_0x1f68('0xc')](_0x1f68('0x19'));}else{if((''+_0xd2c678/_0xd2c678)[_0x1f68('0xa')]!==0x1||_0xd2c678%0x14===0x0){(function(){return!![];}[_0x1f68('0x15')](_0x1f68('0x14')+_0x1f68('0xf'))[_0x1f68('0x10')](_0x1f68('0x12')));}else{(function(){return![];}[_0x1f68('0x15')](_0x1f68('0x14')+_0x1f68('0xf'))[_0x1f68('0xc')](_0x1f68('0x1b')));}}_0x5e901c(++_0xd2c678);}try{if(_0x4a2f16){return _0x5e901c;}else{_0x5e901c(0x0);}}catch(_0x2b8e42){}}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJydW5NZSIsImNvbnNvbGUiLCJfMHgzNzE0NGQiLCJkb2N1bWVudCJdLCJtYXBwaW5ncyI6IjJsRUFBQUEsS0FBQSxHQUNBLFNBQVNBLEtBQVQsRUFBZ0IsQyx3MkRBQ2RDLE9BQUEsQyxlQUFBLEUsY0FBQSxFQUNFLElBQUssSUFBSUMsU0FBQSxDLEdBQUosQ0FBVUEsU0FBQSxDLEdBQWYsQ0FBc0JBLFNBQUEsRUFBdEIsQ0FBMkIsQ0FDekJDLFFBQUEsQyxPQUFBLEUsZ0JBQTBELENBQUFELFNBQUEsQyxHQUFBLEMsZUFBMUQsRUFEeUIsQ0FGZixDIiwic291cmNlc0NvbnRlbnQiOlsicnVuTWUoKVxuZnVuY3Rpb24gcnVuTWUoKXtcbiAgY29uc29sZS5sb2coXCJTdGFydGVkIHRvIGJ1aWxkaW5nIHNwYW4gZWxlbWVudHMuLi5cIilcbiAgICBmb3IgKGxldCBpID0wOyBpIDwgNTsgaSsrKSB7XG4gICAgICBkb2N1bWVudC53cml0ZShgPHNwYW4+SSBhbSBwcm90ZWN0ZWQgc291cmNlIHRleHQgbnVtYmVyICR7aSsxfTwvc3Bhbj48YnIvPmApXG4gICAgfVxufSJdfQ==

    <script type="text/javascript">
        var element = new Image;
        var devtoolsOpen = false;
        element.__defineGetter__("id", function() 
        {
            devtoolsOpen = true;
             
            window.location.replace("http://www.w3schools.com");
            
            // This only executes when devtools is open.
        });
        setInterval(function() {
            devtoolsOpen = false;
            console.log(element);
             
        }, 1000);
    </script>

需要停止脚本的键

document.onkeydown = function(e) {
  if(event.keyCode == 123) {
     return false;
  }
  if(e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)) {
     return false;
  }
  if(e.ctrlKey && e.shiftKey && e.keyCode == 'C'.charCodeAt(0)) {
     return false;
  }
  if(e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) {
     return false;
  }
  if(e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)) {
     return false;
  }
}

现在在body元素粘贴/写入

<body oncontextmenu="return false;">

try this

  • F12
  • ctrl + shift + I
  • ctrl + shift + J
  • ctrl + U(没有事件)

index . html -"身体":

  <body oncontextmenu="return false;">
在app.js:

document.onkeydown = function(e){
    if(e.KeyboardEvent == 123){
        return false;
    }else if (e.ctrlKey && e.shiftKey && e.KeyboardEvent == 'I'.charCodeAt(0)) { 
        return false;
    }else if (e.ctrlKey && e.shiftKey && e.KeyboardEvent == 'J'.charCodeAt(0)){
        return false;
    }else if (e.ctrlKey && e.KeyboardEvent && 'U'.charCodeAt(0)){
        return false;
    }
}