你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
利用ASP建立网络身份验证安全机制(三)
 

loginok.asp

<%

DbPath = SERVER.MapPath("database.mdb")

定义数据库名称为database.mdb

Set c1 = Server.CreateObject("ADODB.Connection")

c1.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DbPath

set rs=server.createobject("adodb.recordset")

rs.open ”select * from 用户表 where 用户名=’”&trim(request(“name”))&”’ and 密码=’”&trim(request(“pwd”))&”’”,c1,1,1

′进行循环查找,如果表中有符合条件的数据,验证通过,否则验证不通过

if rs.eof=false then

表示目前表中存在记录,数据没有到达表的结尾

    response.write “验证通过

else

    response.write “验证失败

end if

%>

    if rs.eof=false then也可以利用if rs.recordcount=1 then代替,表示数据库中存在一条满足条件的记录,由于身份验证程序不可能存在用户名和密码完全相同的两条记录,所以利用rs.recordcount对象进行判断能使初学者更容易理解程序。这种写法读者需要特别注意,千万不要把if rs.recordcount=1 then写成if rs.recordcount<>0 then,有些读者认为这两种写法都能够达到验证通过的作用,如果写成if rs.recordcount<>0 then,攻击者利用SQL在输入用户名的文本框中进行注入,从而通过select查询使数据库用户表中的所有记录全部满足条件,系统也会默认为登录成功,所以说这一点读者需要注意,由于SQL注入代码属于攻击性代码,这里就不对代码进行具体分析了。
  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089