【问题标题】:Hide Inspect Element in php在php中隐藏检查元素
【发布时间】:2016-04-20 11:00:17
【问题描述】:
 $(document).bind("contextmenu",function(e) {
 e.preventDefault();
});`

我尝试了这段代码,但只禁用了右键单击和检查元素选项,但将允许 f12 并直接从浏览器中获取检查元素

如何解决它... 谢谢

【问题讨论】:

  • 为什么要隐藏源代码?
  • 您会尝试在 Javascrip 中处理 f12 按键事件吗?
  • 您无法隐藏您的来源或阻止高级用户查看您的来源,但您可以像 Google (view-source:google.com) 那样对其进行混淆。
  • @ZanderRootman 请给代码.....
  • @C0dekid.php 怎么做

标签: javascript php


【解决方案1】:

你根本做不到。

代码检查器专为调试 HTML 和 Javascript 而设计。他们通过显示网页的实时 DOM 对象来做到这一点。这意味着它会显示您在页面上看到的所有内容的 HTML 代码,即使它们是由 Javascript 生成的。一些检查员甚至在 iframe 中显示代码。

它们是浏览器工具,可能是任何访问者安装了自定义插件或插件,如 firebug 或其他任何东西,您无法通过代码禁用此功能

您可以从检查元素中禁用源,可以像右键单击一样打开

document.addEventListener('contextmenu', function(e) {
  e.preventDefault();
});

或通过禁用密钥

$(document).keydown(function(e){
    if(e.which === 123){
       return false;
    }
});

功能键F12,直接从浏览器获取inspect元素。

【讨论】:

    【解决方案2】:

    这在网页上绝对不可能做到。

    即使您禁用右键单击并禁用 F12、Ctrl+Shift+I 和 Ctrl+Shift+J 的默认行为,也无法阻止用户在其他页面上打开开发工具并导航到您的已打开开发工具的页面。

    此外,您可以通过转到菜单 > 工具 > 开发人员工具来访问开发工具,这是任何网站都无法阻止的。

    【讨论】:

      【解决方案3】:

      你可以试试这段代码,实际上它并没有隐藏元素,而是检测检查菜单是否打开。如果打开,元素将被隐藏,用户将被重定向离开您的网站注意:您可以根据需要评论重定向行),即使返回他会发现你在正文中的代码被隐藏了,并且检查菜单上的元素也将被隐藏,直到他关闭检查菜单。

      代码

          <body oncontextmenu="return false" onkeydown="return false;" onmousedown="return false;">
             <script>
               $(document).bind("contextmenu",function(e) {
                  e.preventDefault();
               });
                              
               eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(3(){(3 a(){8{(3 b(2){7((\'\'+(2/2)).6!==1||2%5===0){(3(){}).9(\'4\')()}c{4}b(++2)})(0)}d(e){g(a,f)}})()})();',17,17,'||i|function|debugger|20|length|if|try|constructor|||else|catch||5000|setTimeout'.split('|'),0,{}))
              </script>
                          
               <script type="text/javascript">
                   var element = new Image;
                   var devtoolsOpen = false;
                   element.__defineGetter__("id", function() {
                      devtoolsOpen = true; // This only executes when devtools is open.
                      window.location.replace ("http://www.NoSource.com");
                      document.getElementsByTagName("BODY")[0].style.display = "none";
                   });
                   
                   setInterval(function() {
                      devtoolsOpen = false;
                      console.log(element);
                      document.getElementById('output').innerHTML += (devtoolsOpen ? "dev tools is open\n" : "dev tools is closed\n");
                   }, 1000);
                </script>
          </body>
      

      澄清

      禁用鼠标点击和F12CTRL + SHIFT + I

          <body oncontextmenu="return false" onkeydown="return false;" onmousedown="return false;">
             <script>
               $(document).bind("contextmenu",function(e) {
                  e.preventDefault();
               });
                              
               eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(3(){(3 a(){8{(3 b(2){7((\'\'+(2/2)).6!==1||2%5===0){(3(){}).9(\'4\')()}c{4}b(++2)})(0)}d(e){g(a,f)}})()})();',17,17,'||i|function|debugger|20|length|if|try|constructor|||else|catch||5000|setTimeout'.split('|'),0,{}))
              </script>
      

      检测检查菜单是否打开

       <script type="text/javascript">
           var element = new Image;
           var devtoolsOpen = false;
           element.__defineGetter__("id", function() {
              devtoolsOpen = true; // This only executes when devtools is open.
              window.location.replace ("http://www.NoSource.com");
              document.getElementsByTagName("BODY")[0].style.display = "none";
           });
      
           setInterval(function() {
              devtoolsOpen = false;
              console.log(element);
              document.getElementById('output').innerHTML += (devtoolsOpen ? "dev tools is open\n" : "dev tools is closed\n");
           }, 1000);
        </script>
      

      还有一件重要的事情.. 即使在进入浏览器菜单 ► 更多工具 ► 开发人员工具.. 代码以正确的方式执行其任务,并确保将其添加到你身体的开始

      注意:有些行不是我的

      【讨论】:

        猜你喜欢
        • 2015-11-05
        • 1970-01-01
        • 2010-09-15
        • 2017-08-01
        相关资源
        最近更新 更多