|
主题: 求助!关于如何屏蔽'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来判断什么的?
|