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

bee*_*vor 37 html

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

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

任何人都可以了解这是如何可能的?

Kon*_*lph 95

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

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

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

  • @yi_H它仍然没用,因为你正在保护一个毫无价值的资产,代价是(1)要么降低你自己代码的可读性(你必须维护),要么(2)在你的web应用程序中有完全无用的视图逻辑.这对我来说似乎*非常不专业.此外,能够规避"安全措施"的1%是首先对代码实际感兴趣的唯一1%. (17认同)
  • 禁用右键单击是一种可用性攻击,但是一开始就加载新行或者阻止直接下载带有其他包装图像的图像的简单技巧对99%的用户起作用,因此它非常有效并且不会造成任何伤害.仅仅因为1%的人口可以轻易地绕过它并不意味着它无用. (3认同)

Bra*_*rad 29

他们用一些基本的javascript做到这一点,但这实际上并没有隐藏你的HTML源代码!在许多浏览器中,您只需转到菜单上的view-> source.即使你不能,只需加载像Fiddler这样的调试代理,或者对连接进行数据包嗅探,这是微不足道.

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

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


Tak*_*Tak 13

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

如果您正在运行服务器端脚本语言,则可以对HTML,CSS和Javascript进行模糊处理或缩小.这将使某人更难以复制您的代码或查看您是如何获得某些效果的.


Gre*_*zzo 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>
Run Code Online (Sandbox Code Playgroud)


Tar*_*ryn 11

您仍然可以通过从Firefox中的工具栏转到View> Page Source来查看网站上的源代码.或者在IE中查看>来源.

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

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


Nik*_*esh 10

 <body oncontextmenu="return false">
Run Code Online (Sandbox Code Playgroud)

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


Geo*_*ton 9

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

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


Pra*_*ate 7

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

  • `Ctrl + U`几乎适用于我见过的所有浏览器.Lynx是个例外. (2认同)

Jis*_*V S 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;
    }      
 }
Run Code Online (Sandbox Code Playgroud)


小智 5

我的浏览器(Chrome)未停用查看源代码.

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

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


Gil*_*Cut 5

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

$( document ).ready(function() {
    $("html").on("contextmenu",function(){
        return false;});}
Run Code Online (Sandbox Code Playgroud)