主题:  求助!关于如何屏蔽'or''='登陆的问题!

风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#12004/4/20 8:35:47
求助!怎么样才能让下面这段代码可以屏蔽'or''='漏洞问题!
我已经试过几种方法了,可是可能是语法不对或者什么原因,还是不行!
无耐之下才来求助各位,绝对没有求代码的意思!
拿出来大家学习一下吗! :confused:

<%@ codepage ="936" %>
<!--#include file="../conn/dbconn1.asp" -->
<% dim verifycode,verifycode2
verifycode=trim(Request.Form("verifycode"))
verifycode2=trim(Request.Form("verifycode2"))
if verifycode<>verifycode2 then
response.write"<SCRIPT language=javascript>alert('您输入的验证码不正确。');"
response.write"location.href='login.asp'</SCRIPT>"
founderr=true
else
session("verifycode")=""
%>
<%
dim uid,upwd
uid=trim(Request.Form("userid"))
upwd=trim(Request.Form("password"))
set rs=server.createobject("adodb.recordset")
sqltext="select * from Manage_User where Username='" & uid & "' and PassWord='" & upwd & "'"
rs.open sqltext,conn,1,1
if rs.eof and rs.bof then
response.write"<SCRIPT language=javascript>alert('您输入的用户名和密码不正确。');"
response.write"location.href='login.asp'</SCRIPT>"
rs.close
set rs=nothing
else
session("username")=rs("username")
session("password")=rs("password")
session("LastLogin")=rs("LastLogin")
session("flag")=rs("flag")
session("del")=rs("del")
session.timeout=45
conn.execute("update Manage_user set LastLogin=Now(),LastLoginIP='"&Request.ServerVariables("REMOTE_ADDR")&"' where username='"&uid&"'")
rs.close
set rs=nothing
response.redirect "default.asp"
end if
end if
%>

编辑历史:[此帖最近一次被 allinhands 编辑过(编辑时间:2004-04-20 08:46:17)]


缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#22004/4/20 8:46:15
把一些非法的字符过滤掉

或者不要用这种写法.先
sqltext="select * from Manage_User where Username='" & uid & "'
然后再判断密码



风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#32004/4/20 9:18:08
或者不要用这种写法.先
sqltext="select * from Manage_User where Username='" & uid & "'
然后再判断密码

我试过这种方法,可是本人初学习ASP,仍居身菜鸟一级,所以还想请各位大哥,具体一些,多多帮忙!



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#42004/4/20 9:21:13
sqltext="select * from Manage_User where Username='" & uid & "'
然后判断
rs("Password")和upwd是不是相等



风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#52004/4/20 10:38:59
allinhands在上个帖子中说
引用:
sqltext="select * from Manage_User where Username='" & uid & "'
然后判断
rs("Password"和upwd是不是相等



看得出您是个高手,那老弟提一个过份的要求,有没有时间帮我写个样子,
这样,你能得加分,我也方便以后的学习! 谢谢



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#62004/4/20 11:04:45
写个这个就可以加分么?嘿嘿~

再说,我要是想加分随时随地可以给自己加啦~

username = Request.Form("username")
password = Request.Form("password")

set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM tb_admin where f_admin_name='" & username & "'"
rs.open sql,conn,1,3
if not(rs.BOF or rs.eof) then
	if rs("f_admin_pass") = password then
		if rs("f_admin_status") = "lock" then
		errmsg = "您的帐号已经被锁定,为不可用状态,请和系统管理员联系!"
		else
		Session("admin") = username
		errmsg = "登陆成功!"
		end if
	else
	errmsg = "密码错误!"
	end if
else
errmsg = "没有这个管理员!"
end if
rs.Close()
set rs=nothing

end if



差不多就是这样了



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#72004/4/20 15:32:39
<!--#include file=inc/conn.asp-->
<%

username = trim(request("username"))
userpwd   = trim(request("userpwd"))


if username="" or userpwd="" then
   response.write "<script language=javascript>"
   response.write "alert('用户名或密码不能为空');"
   response.write "history.back();"
   response.write "</script>"
   response.end
end if


set rs=conn.execute("select username,userpwd,userlevel from C_adminlist where username='"& username &"'")

if not rs.eof then
   if userpwd=rs("userpwd") then
      session("username")=username
      session("userlevel")=rs("userlevel")
      response.redirect "list.asp"
   else
     response.write "<script language=javascript>"
     response.write "alert('用户名或密码不符');"
     response.write "history.back();"
     response.write "</script>"
     response.end   
   end if
else
   response.write "<script language=javascript>"
   response.write "alert('用户名或密码不符');"
   response.write "history.back();"
   response.write "</script>"
   response.end
end if

conn.close
set conn=nothing
set rs=nothing
%>



风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#82004/4/20 15:45:46
多谢谢谢!



风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#92004/4/20 16:45:48
啊哈哈! 又不行啦!

我把楼上那位大哥的复制到我家里,也把数据名称做了相应的调整!

可是所有的条件都过了,到default.asp 后,里面有这样一句
<%
if session("flag"="" then
response.write "<SCRIPT language=javascript>alert('对不起,你没有权限打开此页!');"
response.write"this.location.href='login.asp';</SCRIPT>"
response.end
end if
%>
"FLAG"在数据库里有几个数值!
拜托各位高手再帮小弟看看!
小弟多谢了!



风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#102004/4/21 8:34:28
就是这样的!
flag
------------------------------------------------------------
51,61,62,81,82,83
-------------------------------------------------------------
不好意思,没帖图!
flag是数据库里的一个字段名!
我刚学,有很多东西都不懂!
就多谢楼上的各位高手了!



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#112004/4/21 8:47:04
iceye在上个帖子中说
引用:
就是这样的!
flag
------------------------------------------------------------
51,61,62,81,82,83
-------------------------------------------------------------
不好意思,没帖图!
flag是数据库里的一个字段名!
我刚学,有很多东西都不懂!
就多谢楼上的各位高手了!




问题是你想问什么?flag怎么了?



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#122004/4/21 8:49:11
iceye在上个帖子中说
引用:
啊哈哈! 又不行啦!

我把楼上那位大哥的复制到我家里,也把数据名称做了相应的调整!

可是所有的条件都过了,到default.asp 后,里面有这样一句
<%
if session("flag"="" then
response.write "<SCRIPT language=javascript>alert('对不起,你没有权限打开此页!');"
response.write"this.location.href='login.asp';</SCRIPT>"
response.end
end if
%>
"FLAG"在数据库里有几个数值!
拜托各位高手再帮小弟看看!
小弟多谢了!


你可以参考这个

<%if session("username")="" then 
	  response.write "<script language=javascript>"
	  response.write "alert('操作超时,请重新登录');"
 	  response.write "window.location.href='index.asp';"
 	  response.write "</script>"
end if%>



风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#132004/4/21 9:19:16
可是我不明白,为什么原来的代码正确输入用户名和密码后就可以打开后台管理的页面!

而参照您提供的改完后,正确输入用户名和密码就不能打开那页呢!

能不能帮帮看看
<%
if session("flag"="" then
response.write "<SCRIPT language=javascript>alert('对不起,你没有权限打开此页!');"
response.write"this.location.href='login.asp';</SCRIPT>"
response.end
end if
%>
这段代码的作用到底是什么呢!



风嗖嗖

职务:普通成员
等级:1
金币:0.0
发贴:79
#142004/4/21 9:20:49
<%
if session("flag"="" then
response.write "<SCRIPT language=javascript>alert('对不起,你没有权限打开此页!');"
response.write"this.location.href='login.asp';</SCRIPT>"
response.end
end if
%>
怎么样才能让flag的值不为空呢!



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#152004/4/21 9:21:04
iceye在上个帖子中说
引用:
可是我不明白,为什么原来的代码正确输入用户名和密码后就可以打开后台管理的页面!

而参照您提供的改完后,正确输入用户名和密码就不能打开那页呢!

能不能帮帮看看
<%
if session("flag"="" then
response.write "<SCRIPT language=javascript>alert('对不起,你没有权限打开此页!');"
response.write"this.location.href='login.asp';</SCRIPT>"
response.end
end if
%>
这段代码的作用到底是什么呢!


你自己写的代码干吗问别人是什么意思?
你用flag来判断什么的?