广西经贸职业技术学院论坛

标题: [建站技术]网页加密完全攻略 [打印本页]

作者: 月中水    时间: 2009-10-16 01:19
标题: [建站技术]网页加密完全攻略
现在专业性的网站越来越多,许多网友们都在网上建立起了自己的小家。不过辛辛苦苦制作的网页被人拿去改头换面却是件非常痛心的事,所以大家都想保护自己独创的作品,为自己的网页上把锁,今天就让我带大家了解一下如何给我们的网页加上一把密码锁。
, [  k7 u) [8 [4 |* q
) Y+ n, N, V1 j" k  e# v一、常用JavaScript密码锁0 I% }4 Z7 X6 ~& z
7 n, M  y% r8 s7 @2 ^
1. 了解javascript$ ^1 p" t/ o# o2 x. L
3 H0 V" O- u5 h5 Y2 h" n' E
      JavaScript是一种新的网页描述语言,是由Sun公司以及网景Netscape公司开发的,此一语言可以被嵌入HTML的文件之中,使用它可以让你设计交互性的网页内容。
5 S3 b/ C4 S3 Z2 ^9 m' w! K1 _! h3 I' e8 K0 e% ?; m2 |
2. javascript特点
, _9 A7 J: B2 x" G/ L. s- z
4 }# Y  b4 Z. }1 z4 ]# ~      使用javascript非常简单,只是一小段代码,就可以让网页发生千奇百怪的效果,而且使用javascript来加密的方法是网络中加密最常用的方法。
. }9 e: ^1 G4 }  e, ?# Y
, F" P# T3 a( ~" D4 k3. 使用javascript加密
  {* r( g+ u! N  H3 o. e1 \% ?" o7 s" s& x* d+ R. i' t, Y' l! Q
      使用javascript加密最简单的结果就是让浏览者不能使用鼠标右键,当他点击右键想对图片进行保存或者复制文字的时候就会弹出一个警告窗口或是弹出收藏夹等。% e) B$ `. ]6 a- ?9 r! C# d9 V

# k" c  G& a6 }. `9 J: F1 k实现方法:4 ?1 t  {- ?5 w6 y% L5 p& c( D  a
4 C' \, G4 X- e; t2 y0 o' p+ T
(1)利用弹出窗口封锁鼠标右键将下面这段代码放在网页HTML代码的<head></head>标志中,就可以实现封锁右键,给网页加密。 % w( u- D1 C# Z  `7 p! c* c0 u
, l' z- U0 R# x: b. e7 k

* o' Y7 d1 P3 I4 {* b* P/ n1 \2 c$ V  r2 f) \3 E
<script language="javascript">function click() {if (event.button==2) {alert('本站不准使用右键,使用左键吧!^_^') }}document.onmousedown=click</script>
0 v! z. ~4 N6 ~! F2 w
8 j/ r/ C" c3 H  V) o7 {2 i; I1 f+ H, n8 y7 r  B

2 G8 m% ]( Y( ]) W! D
8 O7 \+ x6 c# A8 W- H
% U4 y+ Z5 R5 e9 e/ o(2)弹出“添加收藏夹”封锁鼠标右键将下面这段代码放在网页的HTML代码的<head></head>标志中。实现点击右键出现“添加到收藏夹”选项。
3 y! T& `2 ^8 V
. i- ^/ o8 U5 x0 X  A8 A+ W+ y; j. C0 t2 L) U! x6 O2 q+ H
0 K; t$ r! U) `* F/ S2 x
<script language="javascript">function click() {if (event.button==2) {window.external.addFavorite('http://www.51CTO.com/,' 51CTO')}}document.onmousedown=click</script>( T$ g& f3 B7 Q+ T: b8 Q

2 C, x; P  s5 p5 \% p' n) U1 M
+ v6 S3 V/ Q* u/ z5 Q6 S, M& k- A+ m2 ?# f8 Q$ o
  g8 C  b# Y6 x! }( ]; E) A: }
- S" ]5 P& z4 {2 g' o- L% J5 l
(3)彻底封锁鼠标右键将下面这段代码放在网页的HTML代码的<head></head>标志中能够实现彻底封锁鼠标右键的效果,由于这个脚本在右键按下时调用一个函数,所以可以改为很多种类型。即使按下左键,再按下右键,放开左键,再放开右键的方法也还是破解不了。 : ]3 G) s$ |+ Y; V- i7 _# c7 y9 Q
$ Q: R0 ~- ], ^& T2 T  |
<script>function DM(e){if(!ns){if(event.button>1)window.external.addFavorite('http://www.popunet.com/,' 大众网络报')}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>  \" |) p$ w9 j- Z
' `8 I. g( u7 S, `
/ M- ^' }$ u( E+ [5 X

! j+ l  Y( y3 U9 i
7 d% j5 o( l8 Z+ }& ]- M$ V* ]
  s" l! k( s! E/ I9 q' Y3 l(4)禁止查看源文件将下面这段代码放在网页的HTML代码的<head></head>标志中则可以实现禁止利用IE浏览器查看源文件。8 A, g1 L& m8 w: H- n' x3 O

2 i% ?9 v1 o9 s" Y, N* l
, r" [/ o% I  x( d: h/ w
$ g4 L2 F1 i9 ?* ]<script language="JavaScript"><!--document.onmousedown=clickfunction click() {if ( event.button==2) {alert('不准查看源文件') }if ( event.button==3) {alert('不准查看源文件') }}//--></script>
9 [4 j. S6 J2 U. C  d$ V) G# ~7 Q1 s& w- X( N. J* W

* V7 U7 _& T$ h- P/ `" S& P. `% B) g1 d, d$ A9 ?) E0 P

0 Z6 B2 X' P  M; @
/ `" N: [( P" _3 K& z- K5 `(5)用乱码显示链接、调用地址加密。利用某些函数把URL字符转换成ASCII码,从而达到隐藏链接Frame页面和*.js,*.asp等脚本的目的。返回ASCII码escape(character),ASCII码为%XX格式,XX是十六进制,如空格键为%20。返回字符unEscape(string)1 {! Y* l7 b  j! N8 Y0 b! O) I

; m, C0 {! @+ D5 M0 q: J- H: T如:
' ^  h* P" F9 ^) p: p. V: `9 i; a: @

" [3 y9 M4 a" W+ ^
# t/ G3 H3 g( l* l) u  j3 ~8 }<!—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>
5 n. C, x1 A; v- L# K8 P) l7 `& M1 m3 Y

0 c* m  N, N3 `& M: n0 t+ I* }1 W  K; v+ B" p# ]' d1 I4 A% l
( w3 C! e8 C& J. m2 P
      利用javascript还可以使用调用脚本显示页面加密、密码校验等加密方法,但是由于代码繁杂而不经常使用,这里就不多讲了。% E( c7 t! r5 y
5 A; N8 G& S  p2 k+ l0 `
二、使用IIS的密码锁
" _( \( X3 L; A& P$ Z3 ?; [6 R" d4 P4 Y! T0 G; h: P1 I  \
      不要以为只有javascript可以加密,使用IIS也可实现加密,只要你电脑上安装的Web服务器是IIS,而你又是管理员权限的用户时,就可以用一种简单的方法来实现密码验证。(注意:使用Win 2000 Server版并安装了IIS及域用户管理器)
( d6 ^4 X* i7 g. {0 Z  I- w, _: W
1. 启动“Internet 服务管理器”
' ^7 L$ S- n2 T/ K% l7 \( [0 k+ S" K  I
步骤一:单击“开始”>“设置”>“控制面板”,双击进入到“管理工具”中,打开“Internet 服务管理器”,展开左窗口的“默认Web站点”,然后在其所展开的目录中选中我们想对其进行加密的目录(如:lastcoco),然后单击“属性”按钮,打开“lastcoco属性”对话框(如图1)。
: Q6 `  \3 t4 N4 f3 s# z4 i
1 }% z3 ^0 C! i  S
0 i! [) L/ |( E% r+ M=780) window.open('http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_720fe38fbd4a2df.jpg');" src="http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_720fe38fbd4a2df.jpg" border=0>
' X2 C# N- T! P3 m
5 G" j* P, C2 ~& ~9 Y图 1
- C' @/ d- L3 g, j5 ]/ s, N4 `- J/ g4 ?$ y4 p% P  X
步骤二:选择“lastcoco属性”对话框中“目录安全性”标签,单击“匿名访问及验证控件”域中的“编辑”按钮。这时会弹出“验证方法”对话框,在“验证方法”对话框中,取消“允许匿名访问”选项前面的勾选,然后勾选“基本验证(密码用明文送出)”选项,最后单击“确定”按钮退出(如图2)。9 b3 L* C6 f& Z2 _; \

& U; W7 ~4 a2 Q- w! N1 @# O. B, R) `: c2 v! n
=780) window.open('http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_f6813cfa62ffc57.jpg');" src="http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_f6813cfa62ffc57.jpg" border=0> ! K* h* H+ p$ U$ y
图 2
' k& O, U. {9 k4 ?
8 T- w/ O5 z6 }2. 使用“域用户管理器”设置用户的名称及密码
- }8 W  z, I, L: q2 X1 ]' G5 [$ \: B8 M  l
光对目录的安全设置了还不行,为了让上网的朋友们只有在输入用户名称和密码后才可以浏览放在该目录下的网页,我们还要使用“域用户管理器”设置用户的名称及密码。
. K& e$ u  G& K
, S. m5 i$ i- M6 l" M" I3 [0 Y$ f- w单击“开始”>“程序”>“系统管理工具”(公用)>“域用户管理器”,启动“域用户管理器”(如图3)。在这里我们给域用户里添加新用户,选择“用户”>“新用户”,然后在“新用户”窗口中输入新用户的“用户名及密码”等等,然后取消“用户下次登录时须改变密码”的选项。9 F+ V& h& Z3 L2 l

  {' t" {5 t! c$ s2 `) i4 K6 v# P, k7 R7 l+ U
=780) window.open('http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_7a91f6d2b01e86e.jpg');" src="http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_7a91f6d2b01e86e.jpg" border=0> 6 R0 ?( z# L: K, `
图 35 |0 U: \* J3 m! {
- [  Y3 J5 ?: ]+ f+ ]* Z1 A& {7 u
到此为止,利用IIS服务器来给网页加密就全部完成了,当用户想访问安全目录下的网页时。只要在出现的“输入网络密码”窗口中输入我们在“域用户管理器”中设置的新用名名及密码就可以进入安全设置目录(如图4)。9 b5 P$ B  t4 U# e! j! m. M

  n0 B: J+ _6 s+ o; @1 b8 y' T  C# N. U5 h" V3 a# N  f
=780) window.open('http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_b59491193af79ec.jpg');" src="http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_b59491193af79ec.jpg" border=0> 图 4
) q5 J1 O8 T. t' o+ E/ l' ^& {* K/ |. ]0 e2 N+ h' c* o
三、使用ASP程序密码锁
0 X3 ?1 y7 E. ~+ V1 u3 S+ w/ L9 W# f' h1 v  E  i
      除了使用IIS服务器来给网页加密,我们还可以使用ASP程序来给网页进行加密,一般来说利用程序来进行密码验证的方法比较通用,现在大多数网站都使用ASP程序,它对Web服务器没有具体要求,而其加密就是借助数据库及ASP程序进行设计,来实现一种通用网页加密。
: i' E% N- e5 c5 |1 u% R
) V2 t. W8 @/ g- H3 n0 }+ Z3 E6 e1. 打开Microsoft Access,建立一个“用户名及密码”的数据表,假设将这个表取名为User,数据库名为lastcoco.mdb,数据表的结构如下:$ Z4 a! H% }8 A! z! }! `
, ?6 \8 Z8 |8 J! p" j3 a% X$ Q
字段说明 字段名称 数据类型 数据长度
. D% H9 `2 n' l" g& d, F
( O  r# U, K2 O, x: r: _用户名称 ID文本 15
: ^6 P, T# ?) {9 b7 y
- M/ K# c4 w- Y" R+ E  w密码 PWD  文本 15
3 `5 a1 l/ r# y  \( A
% K7 J: L, f& l% k2. 编辑一个PASS.ASP的验证文件,源代码如下:
# H1 I2 e2 S* _! K, a9 i
; E/ y& }- t" _; e' \/ u7 R; F+ P, @2 Q. d% u, y/ w# [+ T6 a4 r

% e- i. Q3 {" _& M$ w9 Q. Y* y<%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 %>
' D0 c" I8 J/ k% C  i# W' d
1 i7 R; j, K: n/ E- h( a9 z* l+ q3 Y3 i

) w, _. f5 b$ k7 w
2 W! k% O& ?2 Q5 r3. 在需要加密网页的HTML代码最前面加上〈! --#include file="pass.asp"--〉就可以了。由于这个验证合法性的页面具有通用性,所以非常方便使用。 4 f  I" k% b: Y6 A, s) k' ?4 b" _4 D

8 ?0 ?+ k+ p3 t0 i四、使用软件密码锁
) y7 u8 t* ?5 _6 H7 S( g$ G3 u& |" j6 W! B# L5 ?
      现在给网页加密的软件非常多,这里就不一一讲解,其基本原理都是利用javascript代码,只不过是这些软件都自动准备好了这些代码,只需使用者将网页源代码粘进去按一下加密按钮就OK了。
& |- L7 w; q4 X) n7 s' W; v, Y2 q
      在这里我们介绍一款绿色的小软件“世纪鸟网页加密精灵”,大家不要小看这只鸟,通过这只小鸟,能更方便快速的对网页进行加密。
; i; f/ x% u9 U* |  t3 ^# q% J4 \% \+ R4 W
      下载双击打开这只小鸟,只见XP风格的界面跳到眼前,左边竖着一排是加密选项按钮,分别是“网页代码加密”、“网页登录密码”“鼠标右键屏蔽”、“网页选择屏蔽”、“鼠标右键对话”、“框架包含限制”这些。右边则是网页代码加密对话框,在这个对话框中进行对网页的加密,而且在对话框上方给出每个选项的解释,在对话框下方则是建议。# Q1 z0 w% Q+ k: N. [( p9 _

' k8 `- X7 D& y( d这里我用实例给大家讲解使用“世纪鸟网页加密精灵”的“网页登录密码”选项来给网页加密。
- e. \" e2 Z3 ~& S1 h2 R' X1 o! f' p' W  f; o) u+ l
1. 打开要加密的网页,复制出HTML源代码,然后打开“世纪鸟网页加密精灵”软件,选择“网页登录密码”选项,这时在右边就会出现一些输入框内的代码说明(如图5)。
. T! I  l3 {; t2 h) O) ^6 v+ A6 H5 F$ N2 M# W9 w* z

* R$ m+ ~% P  {& m0 ^% w3 S, v=780) window.open('http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_4bc7d3a1b1188ab.jpg');" src="http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_4bc7d3a1b1188ab.jpg" border=0> . Q" R- N% S3 Q
图 5 & f5 b4 w; H! v7 n4 b$ [3 u
4 r; G! \! Q6 A
2. 在“请输入登录密码”的输入框中输入长度小于10位的密码,然后单击“生成并复制密码页面程序”按钮,这时软件会自动在下方的javascript代码中加入你输入的登录密码做为验证信息,并将这段代码复制到你的剪贴版中(如图6)。1 b" e' k# b7 o+ V, l+ Y
  P- l( n7 Q8 I# r

% u( s, M6 O  v" }+ c- B=780) window.open('http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_6e55ffb19ce7294.jpg');" src="http://bbs.security.ccidnet.com/attachment/Mon_0706/25_419427_6e55ffb19ce7294.jpg" border=0>
1 }; s/ D5 z, a( o" F8 h0 A图 6: j; N9 |& j2 u% {
; M# @1 s% u0 p' O" f& A- v
3. 接下来再将这段代码粘贴到网页中,并将网页改名为(你输入的登录密码).htm,这样就可以对此文件加密了。
$ D+ w0 L$ ?  o1 s6 Q' t) e& c2 o1 t% c3 H
OK,现在你的网页就再也不用担心被人偷用了。




欢迎光临 广西经贸职业技术学院论坛 (http://gxjmbbs.com/) Powered by Discuz! X3.2