标题用ASP技术为你的站点加密
栏目互联网时代
作者沈舟
发布2000年第16期
如果你建立一个论坛之类的需要用户登录注册的网站,以往实现很麻烦,有了ASP,你可以很轻松地达到这个目的。本文将向你介绍用ASP加密站点的一种方法,用户只能通过注册登录后才能进入。
首先,你需要制作登录页面,在HTML中加入FORM,并设为自发送页:
〈form name="login" action="default.asp" method="post" target="-top"〉
Action后接本页URL,这样即使用户登录错误,在本页即获提示,而无须再返回前一页登录。在表单中加入:
〈input name="name" size="10"maxlength="10" style="HEIGHT: 21px; WIDTH: 101px"〉
〈input name="password" type="password" size="10" maxlength="10"〉
完成HTML后,在页首填加程序代码如下:
<& @ Langhage=VBScript %>
<%
Dim myDSN
dim na,pass
MyDSN="DSN=HotFoxDB;uid=superuser;DATABASE=HotFoxDB;pwd=" '连接代码
na=trim(request.form("name") ' 取得用户提交的用户名
pass=trim(request.form("password")) ' 取得用户提交的密码
if (instr(na," ' ")<>0 or instr(pass," ' ")<>0 then ' 数据预处理,检测输入中是否有'符号
Response.Redirect("fail.htm") ' 如果有非法字符,转到登录失败页面
end if
mySQL="select * form userprofile where name=' " & na & " ' and ' " & ass & " ' " ' 执行常规的SQL数据验证
set rstmp = Sever.CreateObject("ADODB.Recordset")
rstmp.Open mySQL,myDSN,3
if rstmp.recordcount<>1 then
Response.Redirect("fail.htm")
else
session("username")=trim (rstmp.fields("name")) ' 此项为数据库中用户名
session("userdpass")=trim (rstmp.fields("password")) ' 此项为数据库中用户密码
session("userpower")=trim (rstmp.fields("power")) ' 此项为数据库中用户权限[可选]
rstmp.Close ( )
set rstmp=nothing
Response.Redirect("Main.htm")
end if
%>
把下面一个的代码加入每个页面的开头
<& @ Langhage=VBScript %>
〈%if session("username")=0 then '验证用户名是否为空
Response.Redirect("default.asp") '若为空返回登录页面
end if
%>
在这样处理之后,你的Web站点就有了安全登录的功能。即使别人知道了你的站点的地址,在不进行合法登录的情况下,也无法访问其他网页。