日期: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页获得了用户的信息(还记得那些输入框的表格吗?)