网页防盗代码

来源:互联网 发布:北航大运村网络 编辑:程序博客网 时间:2024/05/18 03:34

1. oncontextmenu="window.event.returnvalue=false" //将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> //可用于Table
------------------------------------------------------------------------------------------------------

2. <body onselectstart="return false"> //取消选取、防止复制
------------------------------------------------------------------------------------------------------

3. onpaste="return false" //不准粘贴
------------------------------------------------------------------------------------------------------

4. oncopy="return false;" oncut="return false;" // 防止复制

------------------------------------------------------------------------------------------------------

5. //防止被人frame
<SCRIPT LANGUAGE=javascript><!--
if (top.location != self.location)top.location=self.location;
// --></SCRIPT>

------------------------------------------------------------------------------------------------------

6. <noscript><iframe src=*.html></iframe></noscript> //网页将不能被另存为

------------------------------------------------------------------------------------------------------

7. //改变连接是状态栏的显示内容

〈a href="http://v.2best.cc" onMo ... ;window.status='输入连接状态栏显示内容’;return true">

------------------------------------------------------------------------------------------------------

8. //禁止网页中目标对象被下载(如图片)

下面的代码将帮助你禁止网页中目标对象被下载:

<a href="javascript:void(0)" onMouseDown="alert('对不起!图片不能下载!')">

</a>

------------------------------------------------------------------------------------------------------

9. //页面禁止刷新完全
最好在pop出来的窗口里用,没工具栏的


<body onkeydown="KeyDown()" onbeforeunload="location=location"
oncontextmenu="event.returnValue=false">

<script language="Javascript"><!--
function KeyDown(){
if ((window.event.altKey)&&
((window.event.keyCode==37)||
(window.event.keyCode==39))){ alert("请访问我的主页");
event.returnValue=false;
}
if ((event.keyCode==8)|| (event.keyCode==116)){ //屏蔽 F5 刷新键
event.keyCode=0;
event.returnValue=false;
}
if ((event.ctrlKey)&&(event.keyCode==78)){ //屏蔽 Ctrl+n
event.returnValue=false;
}
if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10
event.returnValue=false;
}
}
</script>
</body>


------------------------------------------------------------------------------------------------------

10. //如何彻底禁止查看网页源代码

转自:http://www.ccw.com.cn/htm/app/aprog/01_12_11_3.asp

网页制作者经常遇到精心制作的Javascript特效被别人抄袭,而自己对此却无可奈何的情况。面对这一困扰,有没有方法可以解决呢?使用ASP、JSP等服务器端编程技术可以实现对网页源代码的保护,但目前国内网站所提供的免费个人主页空间一般都不提供对服务器端编程的支持,所以对于这些用户,要禁止访问者查看网页源代码就只能在客户端编程上下工夫了。

查看源代码的方式

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

屏蔽右键菜单查看方式

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

< Script Language=javascript>
function Click(){
if(event.button==2){alert
('版权所有(C)2001 XXX工作室');
}}
document.onmousedown=Click;
< /Script>

实际上"button"有8个属性值(即0~7),"button==2"只是表示按下鼠标右键,所以上述代码实际上只能限制点击鼠标右键的情况,至于其他5种方式,如同时按左右键、中间键、左和中间键、右和中间键和按所有键的情况就不能限制了。所以在弹出版权信息提示窗口后(如图3所示),按"确定"按钮仍然会出现快捷菜单。针对这种情况,其实只要将"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('版权所有(C)2001 XXX工作室');
window.event.returnValue=false;
}
document.oncontextmenu=Click;
< /Script>
< /Head>
< Body>
... ...
< /Body>
< /Html>
一组常用的弹出窗口用法

以下代码集合常用的弹出窗口用法。

1、最基本的弹出窗口代码


<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html')
-->
</SCRIPT>


代码放在<SCRIPT LANGUAGE="javascript">标签和</script>之间。

<!-- 和 -->是对一些版本低的浏览器起作用。
window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。

这一段代码可以加入HTML的任意位置,<head>和</head>之间可以,<body>间</body>也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。

2、经过设置后的弹出窗口

定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。


<SCRIPT LANGUAGE="javascript">
<!--
window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')
//写成一行
-->
</SCRIPT>


参数解释:


<SCRIPT LANGUAGE="javascript"> js脚本开始;
window.open 弹出新窗口的命令;
'page.html' 弹出窗口的文件名;
'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;
height=100 窗口高度;
width=400 窗口宽度;
top=0 窗口距离屏幕上方的象素值;
left=0 窗口距离屏幕左侧的象素值;
toolbar=no 是否显示工具栏,yes为显示;
menubar,scrollbars 表示菜单栏和滚动栏。
resizable=no 是否允许改变窗口大小,yes为允许;
location=no 是否显示地址栏,yes为允许;
status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;
</SCRIPT>
js脚本结束

3、用函数控制弹出窗口

完整的代码示范


<html>
<head>
<script LANGUAGE="javascript">
<!--
function openwin() { window.open ("page.html", "newwindow", "height=100, width=400, toolbar= no, menubar=no, scrollbars=no, resizable=no, location=no, status=no")
//写成一行
}
//-->
</script>
</head>
<body onload="openwin()">
...任意的页面内容...
</body>
</html>

这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。
怎么调用呢?

方法一:<body onload="openwin()"> 浏览器读页面时弹出窗口;

方法二:<body onunload="openwin()"> 浏览器离开页面时弹出窗口;

方法三:用一个连接调用:
<a href="#" onclick="openwin()">打开一个窗口</a>
注意:使用的“#”是虚连接。

方法四:用一个按钮调用:
<input type="button" onclick="openwin()" value="打开窗口">
随机背景--当你每次进入该页面时,从已指定的图片文件夹中,随机选取一个图片作为背景显示。这里介绍的方法是用ASP+CSS来实现的。

ASP源代码:

Const IMGS_DIR = "/images"
'设定图片文件夹的地址,随机显示该文件夹内任一张图片
Dim objFSO, objFolderObject, objFileCollection, objFile
Dim intFileNumberToUse, intFileLooper
Dim objImageFileToUse
Dim strImageSrcText
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolderObject = objFSO.GetFolder(Server.MapPath(IMGS_DIR))
Set objFSO = Nothing
Set objFileCollection = objFolderObject.Files
Set objFolderObject = Nothing
Randomize()
intFileNumberToUse = Int(objFileCollection.Count * Rnd) + 1
intFileLooper = 1
For Each objFile in objFileCollection
If intFileLooper = intFileNumberToUse Then
Set objImageFileToUse = objFile
Exit For
End If
intFileLooper = intFileLooper + 1
Next
Set objFileCollection = Nothing
strImageSrcText = IMGS_DIR & objImageFileToUse.Name
Set objImageFileToUse = Nothing



#pic{
width: 400px;
height: 300px;
background: url() no-repeat;
margin: 2em auto;
}

上面代码要加在head区,不能放在外部CSS文件里。

原创粉丝点击