如何隐藏html源码&禁用右键单击和文本复制?

时间:2011-07-06 13:30:48

标签: html

以下网站禁用了右键单击和查看源。

http://www.immihelp.com/visitor-visa/sponsor-documents.html

任何人都可以对如何做到这一点有所了解吗?

20 个答案:

答案 0 :(得分:94)

  

以下网站禁用了右键单击和查看源。

他们欺骗了你。只需在view-source中向下滚动。

此外,采用这种策略标志着你不专业。不要这样做。

答案 1 :(得分:29)

他们使用一些基本的javascript执行此操作,但这实际上并不隐藏您的HTML源代码!在许多浏览器中,您只需转到菜单上的view-> source。即使你不能,只需加载调试代理,如Fiddlerpacket-sniff the connection,也是微不足道的。

无法有效隐藏HTML ,JavaScript或发送到客户端的任何其他资源。不可能,也不是那么有用。

此外,不要尝试禁用右键单击,因为该菜单上还有许多其他项目(例如打印!),人们经常使用这些项目。

答案 2 :(得分:13)

隐藏HTML源是不可能的。禁用右键单击只会使那些希望对您的内容做一些有建设性的事情的用户感到沮丧(例如,复制/粘贴内容或表单,或打印)。

如果您正在运行服务器端脚本语言,则可以使用obfuscate or minify the HTML,CSS和Javascript。这将使某人更难以复制您的代码或查看您是如何实现某些效果的。

答案 3 :(得分:13)

这是一件非常糟糕的事情,正如其他人所说的那样,但如果你真的有意这样做,请使用这段代码,并在页面顶部添加一大堆回报:

<html>
  <head>
    <script>
      function disableClick(){
        document.onclick=function(event){
          if (event.button == 2) {
            alert('Right Click Message');
            return false;
          }
        }
      }
    </script>
  </head>
  <body onLoad="disableClick()">
  </body>
</html>

答案 4 :(得分:11)

您仍然可以转到查看&gt;查看网站上的来源。来自firefox工具栏的页面源代码。或者查看&gt; IE中的来源。

通过javascript禁用右键单击。 javascript的来源是:

http://www.immihelp.com/common/utils.js

答案 5 :(得分:10)

 <body oncontextmenu="return false">

使用此代码禁用右键单击。

答案 6 :(得分:9)

相信我,没有人像你想象的那样想要你的来源。当您决定开发网页时,您就成了一名开源开发人员。

无法禁用查看网页来源。您可以尝试绕过不可知的用户查看源,但它不会阻止任何理解如何使用菜单或快捷键的人。您最好的选择是以不会被看到您的来源的人妥协的方式开发您的网站。如果你试图隐藏它而不是为了保护你的知识产权,那么你做错了。

答案 7 :(得分:7)

您可能无法阻止用户查看html源内容。您列出的网站会阻止用户右键单击。但事实是你仍然可以在firefox中ctrl-U来查看源代码!

答案 8 :(得分:7)

此代码用于禁用右键单击事件和键盘快捷键。

试试这段代码

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;
    }      
 }

答案 9 :(得分:5)

我的浏览器(Chrome)未禁用查看源。

但是他们在源代码中添加了很多空白行,所以你必须向下滚动才能查看它。尝试向下滚动,你会看到。

使用javascript可以禁用右键单击,但不要这样做。它对用户非常恼火。

答案 10 :(得分:4)

如果您使用的是jQuery,则可以在整个页面上禁用右键单击,如下所示:

$( document ).ready(function() {
    $("html").on("contextmenu",function(){
        return false;});}

答案 11 :(得分:3)

使用JavaScript源可以向下滚动

来禁用右键单击

答案 12 :(得分:2)

即使您加密或缩小HTML代码,也无法有效隐藏它们。

如果您要隐藏的代码非常敏感,它应该位于站点的受保护区域,即您只能通过用户名和密码访问的区域,或者可能位于客户端应用程序中的区域通过网络曝光。

如果必须通过Web前端公开应用程序功能,则可以使用Silverlight编写前端的前端或位。在过去,您还可以使用ActiveX。

答案 13 :(得分:2)

你不能。

浏览器可以读取的 ANYTHING 也可以被人读取。如果您想隐藏某些内容,请不要将其发送到用户的浏览器。

您可以添加各种噱头和技巧来禁用右键单击并禁用ctrl+U

用户只需将view-source:添加到网址,他们就会立即看到来源。

实施例

view-source:https://stackoverflow.com

答案 14 :(得分:2)

<script>
$(document).ready(function() {
    document.onkeydown = function(e){
        if (e.ctrlKey &&
            (e.keyCode === 67 ||
                e.keyCode === 86 ||
                e.keyCode === 85 ||
                e.keyCode === 117)) {
            return false;
        } else {
            return true;
        }
    };
});
</script>

答案 15 :(得分:1)

$(document).ready(function() { 
 `$(document).bind("contextmenu copy paste cut drag drop ",function(e {`return false;`});`

答案 16 :(得分:1)

您可以使用JavaScript来禁用上下文菜单(右键单击),但它很容易被覆盖。例如,在Firefox中,转到选项 - &gt; 内容并在“启用JavaScript”复选框旁边,点击高级。取消选中“禁用或替换上下文菜单”选项。现在,您可以右键单击所需的所有内容。

一个简单的CTRL+U将查看来源。永远不能禁用它。

答案 17 :(得分:0)

没有完整的证明方法。

但是这里有一些策略可用于使用“ window.history.pushState()”并在 body 标签中添加oncontextmenu="return false"来隐藏源代码像attribute一样<body oncontextmenu="return false">,也可以禁用右键单击,以及使用“ history.pushState()”修改视图源内容。

详细信息-http://freelancer.usercv.com/blog/28/hide-website-source-code-in-view-source-using-stupid-one-line-chinese-hack-code

答案 18 :(得分:0)

我已经构建了一个简单的自我检查php文件,它仅允许人类真正加载,而不能像(在线源代码查看器的)机器人那样进行加载。

我不确定来自Chrome的查看源代码,但它确实阻止了对html的访问...不只是混淆,它还使用了回弹提交来验证负载。

该短代码在源代码查看器中仍然可见,因此我也对其进行了混淆...

页面已加载并弹回,弹跳获得的是真实页面,而不是加载器!

   // Create A New File called ( lock.php ) 

将其复制到其中。...

<?php 
// PAGE SOURCE GUARD by Elijah Cuff.
if (!hasParam('bounce'))
{
echo "
<script type='text/javascript'>
<!-- 
eval(unescape('%66%75%6e%63%74%69%6f%6e%20%63%36%36%32%32%30%36%62%32%63%28%73%29%20%7b%0a%09%76%61%72%20%72%20%3d%20%22%22%3b%0a%09%76%61%72%20%74%6d%70%20%3d%20%73%2e%73%70%6c%69%74%28%22%37%36%33%33%31%37%31%22%29%3b%0a%09%73%20%3d%20%75%6e%65%73%63%61%70%65%28%74%6d%70%5b%30%5d%29%3b%0a%09%6b%20%3d%20%75%6e%65%73%63%61%70%65%28%74%6d%70%5b%31%5d%20%2b%20%22%35%37%35%31%36%35%22%29%3b%0a%09%66%6f%72%28%20%76%61%72%20%69%20%3d%20%30%3b%20%69%20%3c%20%73%2e%6c%65%6e%67%74%68%3b%20%69%2b%2b%29%20%7b%0a%09%09%72%20%2b%3d%20%53%74%72%69%6e%67%2e%66%72%6f%6d%43%68%61%72%43%6f%64%65%28%28%70%61%72%73%65%49%6e%74%28%6b%2e%63%68%61%72%41%74%28%69%25%6b%2e%6c%65%6e%67%74%68%29%29%5e%73%2e%63%68%61%72%43%6f%64%65%41%74%28%69%29%29%2b%2d%36%29%3b%0a%09%7d%0a%09%72%65%74%75%72%6e%20%72%3b%0a%7d%0a'));
eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%63%36%36%32%32%30%36%62%32%63%28%27') + '%47%67%7f%76%73%44%15%15%45%69%74%7e%76%23%7a%6e%7f%6f%75%6c%46%2f%73%74%7f%7f%2d%2f%6a%6f%42%28%7e%62%7a%2d%45%15%15%47%66%71%73%7a%7a%20%7f%78%73%6a%45%2d%6b%66%6f%6f%6a%74%2e%23%73%62%72%6d%46%2d%61%70%7e%75%69%6d%2d%21%79%66%74%7e%6e%4a%2d%32%29%44%44%30%68%71%77%7d%7f%41%1a%15%47%34%6c%73%7d%74%41%12%16%47%7c%60%7d%6a%77%7a%42%16%17%23%7c%69%71%6f%7c%78%31%78%6b%7c%5f%68%76%6a%73%7e%7f%27%69%7e%75%69%7c%6a%72%71%2f%29%23%84%1a%15%23%6b%75%6f%7e%74%6e%75%7c%31%68%62%7f%4e%73%6b%75%6e%73%7f%49%79%4a%6f%27%67%28%79%67%7b%67%2a%2a%35%7f%7e%6d%7a%6a%7f%2f%2f%47%16%17%23%27%85%37%23%33%33%33%2e%41%15%15%45%30%78%6f%7d%6a%7f%7f%41%12%10%44%30%69%7f%72%74%417633171%35%39%35%35%31%30%36' + unescape('%27%29%29%3b'));
// -->
</script>
<noscript><i>Javascript required</i></noscript>
";
exit;
}
function hasParam($param)
{
    return isset($_POST[$param]);
}
?>

现在将其添加到最高级的
   每页..示例....

<?php
 // use require for more security...
include('lock.php'); 
?>

<HTML> 
etc.. etc...

答案 19 :(得分:0)

我认为,这里没有提到右键单击@Jishnu V S。

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;
    }      
 }