|
1.禁用右键并自动导航
将以下代码加入<body>和</body>之间即可
<script language="JavaScript"> if (navigator.appName.indexOf("Internet Explorer") != -1) document.onmousedown = noSourceExplorer; function noSourceExplorer() { if (event.button == 2 | event.button == 3) { alert("嗨!欢迎光临,http://www.cf66.net"); location.replace("http://www.cf66.net/"); } } </script>
2.做网页的朋友都会遇到这种情况:有时自己辛苦半天做的网页,尤其是一些JavaScript特效,很容易被人利用查看源文件而复制。那么如何才能防止被人查看源代码呢?我们可以利用event.button特性来做到。下表是event.button属性的可能取值及含义:
可能值 含义 可能值 含义
0 没按键 1 按左键 2 按右键 3 按左和右键 4 按中间键 5 按左和中间键 6 按右和中间键 7 按所有的键
参照上表,我们可以在〈body〉和〈/body〉之间加入如下语句:
〈Script Langvage=javascript〉 function Click(){ if (event.button!=1){alert('版权所有(C)2004 XXX工作室'); }} document.onmousedown=Click; 〈/Script〉
这样在浏览网页时除单击鼠标左键外,其他任何形式的鼠标点击或组合点击,都将出现“版权所有(C)2004 XXX工作室”的提示框,而不是出现快捷菜单,从而避免被人查看源文件代码。
如果使event.button=2,实际上它仅能限制点击鼠标右键情况,其他点击方式,如按左右键、按左和中间键、按中间键等就不能限制,当这些方式的点击发生时,出现的就是快捷菜单,从而可以查看源文件。
3.禁止查看源文件
将下面这段代码放在网页的HTML代码的<head></head>标志中则可以实现禁止利用IE浏览器查看源文件。
<script language="JavaScript"><!--document.onmousedown=click function click() {if ( event.button==2) {alert('不准查看源文件') }if ( event.button==3) {alert('不准查看源文件') }}//--></script>
4.彻底封锁鼠标右键
将下面这段代码放在网页的HTML代码的<head></head>标志中能够实现彻底封锁鼠标右键的效果,由于这个脚本在右键按下时调用一个函数,所以可以改为很多种类型。即使按下左键,再按下右键,放开左键,再放开右键的方法也还是破解不了。
<script>function DM(e){if(!ns){if(event.button>1)window.external.addFavorite('http://bbs.cf66.net/,' 长风论坛')}else{if(e.which>1)return false}}ns=navigator.appName=="Netscape";if(ns)document.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN);document.onmousemove=DM;document.onmousedown=DM;</script>
5.利用弹出窗口封锁鼠标右键 将下面这段代码放在网页HTML代码的<head></head>标志中,就可以实现封锁右键,给网页加密。
<script language="javascript">function click() {if (event.button==2) {alert('本站不准使用右键,使用左键吧!^_^')}}document.onmousedown=click</script>
6.弹出“添加收藏夹”封锁鼠标右键
将下面这段代码放在网页的HTML代码的<head></head>标志中。实现点击右键出现“添加到收藏夹”选项。
<script language="javascript">function click() {if (event.button==2) {window.external.addFavorite('http://www.laikanshu.com/,' 来看书网')}}document.onmousedown=click</script>
7.用乱码显示链接、调用地址加密。
利用某些函数把URL字符转换成ASCII码,从而达到隐藏链接Frame页面和*.js,*.asp等脚本的目的。返回ASCII码escape(character),ASCII码为%XX格式,XX是十六进制,如空格键为%20。返回字符unEscape(string)
如:
<!—var Words="%3Cframeset%20BORDER%3D%220%22%20FRAMEBORDER%3D%220%22%20FRAMESPACING%3D%220%22%20rows%3D%22100%25%22%3E%0D%0A%20%20%3Cframe%20SRC%3D%22http%3A//XXX.XXX.COM/XXX/XXX/%22%20NAME%3D%22oos1%22%20"//--></script>
利用javascript还可以使用调用脚本显示页面加密、密码校验等加密方法,但是由于代码繁杂而不经常使用,这里就不多讲了。
8.使用ASP程序密码锁
除了使用IIS服务器来给网页加密,我们还可以使用ASP程序来给网页进行加密,一般来说利用程序来进行密码验证的方法比较通用,现在大多数网站都使用ASP程序,它对Web服务器没有具体要求,而其加密就是借助数据库及ASP程序进行设计,来实现一种通用网页加密。
(1). 打开Microsoft Access,建立一个“用户名及密码”的数据表,假设将这个表取名为User,数据库名为lastcoco.mdb,数据表的结构如下:
字段说明 字段名称 数据类型 数据长度 用户名称 ID 文本 15 密码 PWD 文本 15
(2). 编辑一个PASS.ASP的验证文件,源代码如下:
<TEXTAREA rows=20 cols=60><%Function Check( ID, Pwd )Dim conn, par, rsSet conn = Server.CreateObject("ADODB.Connection")par = "driver={Microsoft Access Driver (*.mdb)} "conn.Open par && ";dbq=" && Server.MapPath("lastcoco.mdb ")sql = "Select ? From users Where ID='" && ID && "' And Pwd = '" && Pwd &&"'"Set rs = conn.Execute( sql )If rs.EOF ThenCheck= FalseElseCheck= TrueEnd IfEnd Function%><%If IsEmpty(Session("Passed")) Then Session("Passed") = FalseHead = "请输入用户名和密码"ID = Request("ID")Pwd = Request("Pwd")If ID = "" Or Pwd = "" ThenHead = "请输入用户名和密码"Else If Not Check( ID, Pwd ) ThenHead = "用户名称或密码有错"ElseSession("Passed") = TrueEnd IfIf Not Session("Passed") Then %><html><head> <title></title> </head><body BGCOLOR="#FFFFFF"><h2 ALIGN="CENTER"><%=Head%></h2><hr WIDTH="100%"><form Action="<%=Request.ServerVariables("PATH_INFO")%>" Method="POST"><table BORDER="1" CELLSPACING="0"><tr><td ALIGN="RIGHT">用户名称:</td><td><input Type="Text" Name="ID" Size="12" Value="<%=ID%>"></td></tr><tr> <td ALIGN="RIGHT">密码:</td><td><input Type="Password" Name="Pwd" Size="12" Value="<%=Pwd%>"></td> </tr></table><p><input Type="Submit" Value="确定"> <p> </form><hr WIDTH="100%" align="center"></body> </html><%Response.EndEnd If %> </TEXTAREA>
(3). 在需要加密网页的HTML代码最前面加上〈! --#include file="pass.asp"--〉就可以了。由于这个验证合法性的页面具有通用性,所以非常方便使用。
|