彻底禁止查看网页源代码

查看源代码的方式

---- 要禁止访问者查看网页源代码,我们首先要了解一下查看源代码的方式(以IE 5.0为例)。一是右键菜单方式; 二是窗口菜单栏查看方式,即选择"查看"*"源文件"方式。要彻底禁止访问者查看网页源代码,就必须屏蔽这2种查看源代码的方式。

屏蔽右键菜单查看方式

---- 现在,很多网页采用如下代码屏蔽右键菜单:

     < Script Language=javascript>
function Click(){
if(event.button==2){alert
('屏蔽右键菜单');
}}
document.onmousedown=Click;
< /Script>

---- 实际上"button"有8个属性值(即0~7),"button==2"只是表示按下鼠标右键,所以上述代码实际上只能限制点击鼠标右键的情况,至于其他5种方式,如同时按左右键、中间键、左和中间键、右和中间键和按所有键的情况就不能限制了。所以在弹出信息提示窗口后,按"确定"按钮仍然会出现快捷菜单。针对这种情况,其实只要将"event.button==2"改为"event.button!==1"就可以做到无论用何种鼠标点击方式,均不出现右键菜单了。

---- 不过即使进行上述修改后,也并不能彻底禁止右键菜单的出现。用户只要在页面上按下右键,出现版权信息提示窗口后,不松开右键(即继续保持按下状态),再将鼠标指针移动到版权信息提示窗口的"确定"按钮上,同时按下左键,然后再松开鼠标左键,提示窗口即消失。此时再松开鼠标右键,右键菜单弹出,这样就又可以查看网页源文件了。

---- 那么有没有办法彻底禁止右键快捷菜单的出现呢?其实只要将上述代码做如下修改即可。

     < Script Language=javascript> 
function Click(){
alert('版权所有(C)2001 XXX工作室');
window.event.returnValue=false;
}
document.oncontextmenu=Click;
< /Script>

---- 这样无论采取什么方式点击鼠标,都不会再出现快捷菜单了。不过值得注意的是,如果访问者直接在浏览器地址栏中键入"javascript:alert(document.oncontextmenu='')",就可以解除对右键菜单的屏蔽。对这类访问者怎样防范呢?其实,把地址栏隐藏掉就可以了,具体方法见本文介绍的"屏蔽窗口菜单栏查看方式"。

屏蔽窗口菜单栏查看方式

---- 制作过网页的朋友都知道,对新打开窗口的各种属性可以进行控制,具体包括控制菜单栏、滚动条及地址栏是否可见等。如果把父窗口关闭,并将新打开窗口的菜单栏和地址栏隐藏,不就可以屏蔽窗口菜单栏查看方式了吗?实现代码如下:

     < Head>
< Object id=closes type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">
< Param name="Command" value="Close">
< /Object>
< /Head>
< Body>
< Script Language=javascript>
closes.Click()
window.open("XXX.htm","","menubar=no,location=no,
scrollbars=yes,resizable=yes")
< /Script>
< /Body>

---- 这种方法的原理就是首先将自己网站的首页制作成index.htm形式,把首页设计成一个过渡页。然后将自己的真正主页制作成default.htm形式(具体实现过程见本文所附源代码)。这样访问者无论如何也无法查看网页源代码了。这不仅仅保护了您的版权,也为进一步开发提供了保障。通过此方法,您可以结合Cookie技术,真正做到限制用户浏览网页,从而避免主页资料被非法访问者访问。

 <!-- 附:源代码清单 -->
    
<!-- index.htm -->
    
< Head>
    
< Object id=closes type="application/x-oleobject" classid="clsid:
    adb880a6-d8ff-11cf-9377-00aa003b7a11"
>
    
< Param name="Command" value="Close">
    
< /Object>
    
< /Head>
    
< Body>
    
< Script Language=javascript>
    closes.Click()
    window.open("defalut.htm","","menubar=no,location=no,
    scrollbars=yes,resizable=yes")
    
< /Script>
    
< /Body>

    
<!-- default.htm -->
    
< Html>
    
< Head>
    
< Script Language=javascript>
    function Click(){
    alert('禁止查看源文件);
    window.event.returnValue=false;
    }
    document.oncontextmenu=Click;
    
< /Script>
    
< /Head>
    
< Body>
     
    
< /Body>
    
< /Html>
   
posted @ 2006-02-17 12:40 blueKnight Views(3432) Comments(5)  Edit 收藏

 回复 引用   
#1楼2008-10-09 13:56 | 张梦泽[未注册用户]
您好,能和您做个连接吗?我以将你的连接加上去了,如果同意,请尽快加上,如果不同意,请回复。
谢了!

你自己写完试试看了没有,你就网上贴???

靠,照抄也要负责啊,

 回复 引用 查看   
#3楼[楼主]2009-01-19 11:48 | blueKnight      
直接在html中加这个<body id="main_content" oncontextmenu="return false;">屏掉右键,其它都是没用的东西,为什么不给看源文件?
 回复 引用 查看   
#4楼[楼主]2009-01-19 11:50 | blueKnight      
@照抄也要负责啊
贴在私人领地的,先生

 回复 引用   
#5楼2009-03-18 09:53 | new-video[未注册用户]
没办法禁止html代码查看的,什么禁止右键、屏蔽查看菜单中的源码文件、代码加密、还有框架法这种弱智的方法都出来了,纯粹就是骗小学生而已。
服务器端的代码倒是可以有效的隐蔽,我迄今为止没有遇到能禁止我查看html源代码的网页。
部分禁止方法只有增加搜索引擎对网页的反感、降低浏览器的兼容性,没有其它实际意义。