日期:2011-07-26 浏览次数:20825 次
利用ASP给主页加密
Active server pages (动态服务器主页,简称ASP),能够让我们产生动态的、互动性、高效能的WEB应用程序,使我们能用非常简单的方法通过网页查询和修改数据库,现在已被越来越多的WEB设计人员所接受。但是我们在开发中往往遇到这样一种情况,即希望让某些页面受到保护,只让经过受权的用户访问,对一般用户则拒绝访问。
下面我就向大家介绍如何用ASP来创建一个简单的,但是却相当有效的登录方案,从而保证WEB应用程序的安全性。只要你按照以下的步骤做,你将会拥有一个安全的用户登录系统。
步骤1:创建一个用户表
首先我们要创建一个记录受权用户信息的表格。在这个例子中,我用ACCESS97创建了一个名叫userinfo.mdb的数据库,它包含了受权用户的信息,用户有两个字段——用户名和用户密码,其中用户名为主关键字。(之所以选用ACCESS,是因为它广为人所知,使用方便,并且适用于大多数的中小型方案。)
步骤2:设置缺省的验证状态
我们要在global.asa文件中完成这些设置,为缺省的“not authenticated”状态设置一个对话变量。这样做后,当用户想访问那些受到保护的页面时,只有你检查过他们的身份证明后,他们才可以访问。缺省状态的设置确保了每个人在进入网页之前都经过了身份验证。
在global.asa文件中,Session_OnStart事件里,填写以下代码
在global.asa文件中,Session_OnStart事件里,填写以下代码
< SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnStart
……
……
’ This is the default authentication status
Session(“Authenticated”) = 0
END SUB
< /SCRIPT>
切记验证身份状态的设置是一件非常重要的事物,请不要忘记。
步骤3:创建一个用户登录页
这是一个ASP网页,里面是HTML的内容。我们把这一页取名叫login.asp,为了方便起见,下面给出了示例代码:
< HTML>
< BODY BGCOLOR=FFFFFF>
< FORM ACTION=“verify.asp” METHOD=POST>
Name:
< INPUT TYPE=TEXT SIZE=20 NAME=USERNAME>
Password:
< INPUT TYPE=PASSWORD SIZE=20 NAME=USERPASSWORD>
< INPUT TYPE=SUBMIT VALUE=“Login Now”>
< /BODY>
< /HTML>
它包含了1个有2个输入框的表格。这些输入框用于收集用户的用户名和用户密码。收集到的信息我们用POST方式交给verify.asp来处理,以便我们来验证这个用户有没有经过受权。
步骤4:为这个数据库创建系统型ODBC数据源(DSN)
为了访问userinfo.mdb这个数据库,我们需要创建系统型ODBC数据源(DSN)。如果你非常熟悉ASP的话,你可以选择你自己的数据源(DSN)项目。要创建系统型ODBC数据源(DSN),你需要做以下步骤:
*打开你的电脑中的控制面板(在Windows95/NT中的开始..设置菜单里)
*选择“32位ODBC”
*选择“System DSN”
*选择“添加”。再选择“Microsoft Access Database Driver”,单击“完成”
*给数据源(DSN)取个名字,在“数据库”设定中取名为“LoginDSN”,单击“选择”后指出userinfo.mdb数据库所在的确切路径。
*单击确定按钮
通过这个步骤,在你的电脑里创建了一个名为“LoginDSN”的系统型ODBC数据源(DSN),并指出了所选用userinfo.mdb数据库的确切位置。
步骤5:创建验证页
这就是我们在步骤3中看到的verify.asp页。在这一页中,我们将验证用户是否有效。我们从login.asp页获得了用户的信息(还记得那些输入框的表格吗?)