asp登陸審核(50分)

  • 主题发起人 主题发起人 williamguo188
  • 开始时间 开始时间
W

williamguo188

Unregistered / Unconfirmed
GUEST, unregistred user!
第一段代碼
<!--#include file=&quot;conn.asp&quot;
-->
<% username=request(&quot;textfield1&quot;)
passpwd=request(&quot;textfield2&quot;)
session(&quot;username&quot;)=username
sql=&quot;select * from[user] where username='&quot;&username&&quot;'and password='&quot;&passpwd&&quot;'&quot;
set rs=server.createobject(&quot;adodb.recordset&quot;)
rs.open sql,conn,3,3
if rs.eof then

response.redirect&quot;erro.asp&quot;
else

response.redirect &quot;main.asp&quot;

end if
%>
測試總是連接到erro.asp
那里出錯了?
請指教?
第二段代碼
<!--#include file=&quot;conn.asp&quot;
-->
<% username=request(&quot;textfield1&quot;)
passpwd=request(&quot;textfield2&quot;)
session(&quot;username&quot;)=username
sql=&quot;select username,password from usertable where username='''&username&'''and password='''&password&'''&quot;
set rs=server.createobject(&quot;adodb.recordset&quot;)
rs.open sql,conn,1,1
if rs.RecordCount > 0 then

response.redirect&quot;home.asp&quot;
else

response.redirect &quot;erro.asp&quot;

end if
%>
我測試總是不能接連到home.asp
請問那里出錯了?
 
你都先在sql语句给显示出来,然后根据这条sql语句去数据库看是否有数据
,也有可能参数根本就没传进来。
 
楼主 第一段代码 if rs.eof then
这个地方 写错了
第二段代码 sql=&quot;select username,password from usertable where username='''&username&'''and password='''&password&'''&quot;
这个写错了
应该为
sql=&quot;select username,password from usertable where username='&quot;&username&&quot;'and password='&quot;&passpwd&&quot;'&quot;
总结 你的代码 不安全 没有过滤参数就传人SQL 执行 ====自杀 ,找黑
 
还有 第二段代码的 passpwd 复制时候 你变量写错了
session变量 一般验证通过后再赋值,否则人家验证不通过 都可以直接访问你的文件
 
分配积分
 
后退
顶部