ASP登陆代码登陆问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:32:23
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!-- #include file="config/db.asp"-->
<!-- #include file="config/function.inc.asp"-->
<%
dim rst,sql,rst1,aql1,i
set rst=server.CreateObject("adodb.recordset")
set rst1=server.CreateObject("adodb.recordset")
%>

<body>
<%
'用户登录
if request.QueryString("act")="login" then
sql="select * from tbl_user where u_user='"&request.form("f_user")&"' and u_code='"&request.form("f_code")&"'"
rst.open sql,conn,1,1
if not rst.eof then
session("s_loginID")=rst("u_id")
session("s_loginUSER")=rst("u_user")
else
msgboxU "登录失败!"
end if
rst.close
end if

'用户取消登录
if request.querystring(&qu

我想看一下你的form标签是怎么写的,假定这个页面是index.asp的话,如果你是这样写的:
<form action="index.asp?act=login" method="POST">的话我不认为有错,你登陆应该可以登陆上的,或者这样写也行:
<form action="?act=login" method="POST">
但如果你没有action属性或属性为空时或者属性只有index.asp时由于act参数传不过去,服务器只打开了数据库链接而没有任何取出数据的,所以我不认为你能登陆得上!

至少,你给的除了能SQL注入以外,还没有任何其他的毛病的!

/////////////////////////////////////////////////////////////////////
VBScript是不区分大小写,但不区分大小写指的是语法,而对于字符串来说大小写是有很大区别的,就用本地的测试一下你应该知道的,在你的地址栏中这样输入"
vbscript:msgbox("login"="Login")回车后看一下弹出的对话框是false而不是true!也就是说?act=Login传过去的字符是Login,而再取值时再用login去做对比,两者能相等吗?不能相等当然就进入不了你的分支的!难道这样也让别人给你找原因?这个可以基础中的基础了!字符串的字符不论在大小写是否敏感的语言中,大写字符与小写字符还在严格的区别的,要不为什么还要用一个Ucase与Lcase这两个转换大小写的函数再什么?如果对大小写不敏感到连字符串中都可以相同的话,这两个函数存在的意义何在?

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!-- #include file="config/db.asp"-->
<!-- #include file="config/functio