为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 用ASP实现基于数据库的网页加密

用ASP实现基于数据库的网页加密

2017-10-26 9页 doc 49KB 23阅读

用户头像

is_477730

暂无简介

举报
用ASP实现基于数据库的网页加密用ASP实现基于数据库的网页加密 用ASP实现基于数据库的网页加密 一、问题提出背景 在建立网站的过程中,有些网页只允许好友或会员可以浏览,我们称这种网页为加密网页。加密网页的方法很多,如:直接用客户端Script程序而不用数据库进行的加密、用CGI程序进行的加密等,前者由于在客户端执行而使加密的网页很脆弱,后者编程复杂需要有丰富的编程经验,使得这两种方法对于一般的网页设计者来说都不是最佳的选择。本文的密码验证程序是基于Windows NT 4.0(IIS 4.0)环境下的ASP程序,用加密的mdb数据库来存放“用户名称/...
用ASP实现基于数据库的网页加密
用ASP实现基于数据库的网页加密 用ASP实现基于数据库的网页加密 一、问提出背景 在建立网站的过程中,有些网页只允许好友或会员可以浏览,我们称这种网页为加密网页。加密网页的方法很多,如:直接用客户端Script程序而不用数据库进行的加密、用CGI程序进行的加密等,前者由于在客户端执行而使加密的网页很脆弱,后者编程复杂需要有丰富的编程经验,使得这两种方法对于一般的网页设计者来说都不是最佳的选择。本文的密码验证程序是基于Windows NT 4.0(IIS 4.0)环境下的ASP程序,用加密的mdb数据库来存放“用户名称/密码”,利用ASP自带的内部对象对数据库对数据库进行操作,来验证密码和用户名的正确与否,从而打到网页加密的目的。该程序保密性好,而且利用ASP技术使得编程变得异常简单。 二、ASP简洁 Active Server Page 是Microsoft提出的一种服务器端的命令执行环境。随着Windows NT(Windows 2000)的普及,其上所带的Web Server(IIS2.0/3.0/4.0)也被越来越多的应用于公司、企业内部intranet或连外的internet的Web服务器,所以ASP(Active Server Page,服务器端的动态网页)理所当然的成为广泛应用的Web程序开发工具。 Active Server Page的出现使Web页面更加多彩多姿;利用Microsoft 的Active Server Page技术,将Script程序代码嵌入HTML文件,创造出动态变化的Web页面。在过去,使用Javascritpt或VBScript开发的Web页面,必须由客户端支持这两种语言的浏览器执行出程序代码的结果,而Active Server Page使我们方便的利用所熟悉的Javascript或VBScripts甚至PERL来开发Web服务器端动态HTML文件;所以,不管任何是否支持JavaScript或VBScript的浏览器,通过Active Server Page技术产生出来的Web页面,将可以摆脱不兼容的问题。 一般,ASP Web页面可以同时包含下面四个部分: 1、 普通HTML文件:普通Web页面的编程。 2、 客户端Script程序代码:间的程序代码。 3、 服务器端ASP Script程序代码:位于<%……….%>间的程序代码。 4、 Server—Side Include语句:使用#INCLUDE的语句在Web页面中嵌入其他Web页面。 三、网页加密 网页加密功能的实现由三个文件组成:users.mdb、password.asp、Pwdpage.asp。users.mdb是存放“用户名称/密码”的ACCESS数据库,password.asp是加密网页的精髓,改程序实现“用户名称/密码”输入单的制作及密码验证等功能。Pwdpage.asp是需要加密的网页,下面对这三个文件分别介绍。 1、 加密的users.mdb数据库 users.mdb是使用Access加密的数据库,建立步骤如下: (1) 启动Access“文件->新建”选择合适目录输入文件名为users.mdb,然后按“确 定”键建立数据库“users.mdb”。如图1: 图1建立users.mdb数据库 (2) 建立表users:使用表设计器创建表,该表只包含两个字段,如下所示: 字段名称 数据类型 数据长度 字段说明 ID 20 文本 用户名称 Pwd 20 文本 密码 (3) 接着选菜单“工具->安全->设置数据库密码“,如图2: 图2设置数据库密码 在ASP程序中如何启动含有密码的数据库呢,其实很简单,只要在Connection对象的 Open方法中增加Pwd的参数即可,例如: SQLstr=”driver:{Microsoft Access Driver (*.mdb)};Pwd=ding” SQLstr=SQLstr&”;dbq=”&server.MapPath(“users.mdb”) Conn.open SQLstr 2、网页加密的核心:password.asp password.asp文件又可分为三个子程序段: (1)“用户名称/密码”的输入表单,程序片断如下:

<%=Head%>

Method=POST>
用户名称: >
密码: >


重点是
标记的Action参数,一般来说,我们会指定给它某一个.asp文件名称,例如:Password.asp,在此则指定成:Request.Server variables(“PATH_INFO”);如果password.asp被含入Pwdpage1.asp,则这个参数得到Pwdpage1.asp,如果password.asp被含入Pwdpage2.asp,则这个参数得到Pwdpage2.asp,所以无论Password.asp文件被包含进哪一个网页,以上语句都能得到正确的.asp文件名称。 (2)密码验证函数: 接下来是实现密码验证的函数,这个函数传人ID(用户名称)及Pwd(密码),若验证通过返回TRUE,否则返回FALSE,内容如下: <% Function CheckPwd( ID, Pwd ) Dim conn, param, rs Set conn = Server.CreateObject("ADODB.Connection") param = "driver={Microsoft Access Driver (*.mdb)};Pwd=kj6688" conn.Open param & ";dbq=" & Server.MapPath("usersPwd.mdb") sql = "Select * From users Where ID='" & ID & "' And Pwd = '" & Pwd & "'" Set rs = conn.Execute( sql ) If rs.EOF Then CheckPwd = False Else CheckPwd = True End If End Function %> 这段程序的关键点是:users.mdb是一个加密的数据库,所以启动时必须有“Pwd=ding”参数;用Select选取符合条件的数据,若为0则表示ID/Pwd是错误的,返回False,否则表示ID/Pwd是正确的,返回True。 (3)密码验证与输入表单的结合 下面的这段服务器端执行的程序实现密码验证与输入表单的结合: <% If IsEmpty(Session("Passed")) Then Session("Passed") = False Head = "请输入您的认证资料" ID = Request("ID") Pwd = Request("Pwd") If ID = "" Or Pwd = "" Then Head = "请输入您的认证资料" ElseIf Not CheckPwd( ID, Pwd ) Then Head = "用户名称或密码错误" Else Session("Passed") = True End If If Not Session("Passed") Then %> …输入表单程序部分 <% Response.End End If %> 3、 需要加密的网页:Pwdpage.asp 实际上,Pwdpage.asp可以是任何已制作好的.asp网页,如想对该网页加密,只需把 users.mdb和Password.asp复制到Pwdpage.asp所在的目录下,并在文件头加入下列语句:

PwdPage.asp - 这是加密网页

这个网页十分简单,只有在原始码的最前面加上以下标识:

    <!--#include file=" pwd.asp"-->

就已经具备加密的功能。


五、 本文网页加密的关键是Password.asp程序,要做到正常运行,必须使得users.mdb数据库中的表users的字段名称与Password.asp引用的字段名称相一致。一旦users.mdb与Password.asp两个文件正确建立后,就可以一劳永逸,对任何.asp文件都可以轻松加密。总之,利用微软的Active Server Page技术开发的程序简单,而且代码重用性高,ASP与ADO的完美结合,使得开发网络数据库程序不在是非常困难的事了。
/
本文档为【用ASP实现基于数据库的网页加密】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索