怎么修改ASP登陆页面使之会自动将未MD5加密的密码写入数据库

hkhqq 2009-10-13 08:11:14
怎么修改ASP登陆页面使之会自动将未MD5加密的密码写入数据库
直接将密码原文写入数据库管理表的XX字段中,
下面的代码要怎么修改才能实现此功能啊。

原文件为:

<!--#include file= "zivanconn.asp "-->
<!--#include file= "inc/char.asp "-->
<!--#include file= "inc/md5.asp "-->
<%select case request( "action ")
case "checklogin "
call checklogin()
response.End
case "Outlogin "
call Outlogin()
response.End
case else
call login()
end select
sub login()%>
<HTML> <script language= "JavaScript ">
<!--
if (parent.frames.length > 0) {
parent.location.href = location.href;
}
function loginForm_onsubmit() {
if (document.loginForm.username.value== " ")
{
alert( "用户名不能为空。 ")
document.loginForm.username.focus()
return false
}
else if(document.loginForm.Password.value== " ")
{
alert( "密码不能为空。 ")
document.loginForm.Password.focus()
return false
}
else if(document.loginForm.passcode.value== " ")
{
alert( "验证码不能为空。 ")
document.loginForm.passcode.focus()
return false
}
}
// -->
</script> <HEAD> <TITLE> 控制中心登陆 </TITLE>
<META http-equiv=Content-Type content= "text/html; charset=gb2312 ">
<STYLE type=text/css>
.input {
BORDER-RIGHT: #cccccc 1px groove; BORDER-TOP: #cccccc 1px groove; FONT-SIZE: 11px; BORDER-LEFT: #cccccc 1px groove; BORDER-BOTTOM: #cccccc 1px groove; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
td{font-size:12px;}
</STYLE>
<META content= "MSHTML 6.00.2800.1106 " name=GENERATOR> </HEAD>
<BODY text=#000000 bgColor=#ffffff leftMargin=0 topMargin=0 marginheight= "0 " marginwidth= "0 ">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width= "200 " border= "0 " align= "center " cellpadding= "0 " cellspacing= "1 " bgcolor= "#D2DDED ">
<tr>
<td> <TABLE cellSpacing=5 cellPadding=0 width= "400 " align=center
bgColor=#f7f7f7 border=0>
<TBODY>
<form method= "post " action= "index.asp?action=checklogin " name= "loginForm " language= "javascript " onsubmit= "return loginForm_onsubmit() " >
<TR>
<TD class=hui noWrap bgColor=#ffffff colSpan=4>
<TABLE height=20 cellSpacing=0 cellPadding=0 width= "100% "
border=0>
<TBODY>
<TR>
<TD vAlign=middle bgColor=#F7F7F7> <div align= "center "> <font color= "#FF0000 "> 请填写以下信息登陆! </font> </div> </TD>
</TR>
</TBODY>
</TABLE> </TD>
</TR>
<TR>
<TD class=hui vAlign=top noWrap width=128 rowSpan=3> <IMG height=55
src= "images/login/login_s.gif " width=128 vspace=10> </TD>
<TD class=hui align=right width=61 height=15> <div align= "right "> 用户名: </div> </TD>
<TD width=191> <INPUT class=input tabIndex=1 size=12 name=username> </TD>
</TR>
<TR>
<TD class=hui style= "PADDING-TOP: 3px " align=right width=61
height=15> <div align= "right "> 密 码: </div> </TD>
<TD class=whitelink> <INPUT class=input tabIndex=2 type=password size=12 name=Password> </TD>
</TR>
<TR>
<TD class=hui style= "PADDING-TOP: 3px " align=right height=15> <div align= "right "> 验证码: </div> </TD>
<TD class=whitelink> <input name= "passcode " type= "text " size= "6 " maxlength= "5 "> <%dim num1
dim rndnum
Randomize
Do While Len(rndnum) <4
num1=CStr(Chr((57-48)*rnd+48))
rndnum=rndnum&num1
loop
response.cookies( "www52wordcom ")( "verifycode ")=rndnum%> <span style= "font-weight:bold;color:blue; "> <%=request.cookies( "www52wordcom ")( "verifycode ")%> </span> </TD>
</TR>
<TR>
<TD class=hui vAlign=top noWrap colSpan=3>
<HR color=#cccccc SIZE=1>
</TD>
</TR>
<TR>
<TD class=hui noWrap align=middle colSpan=3>
<INPUT type=image height=23 width=87 src= "images/login/login_button01.gif " border=0 name=imageField32>
<A href= "# " target=_blank> <IMG height=23 src= "images/login/login_button02.gif " width=87 border=0> </A> </TD>
</TR>
</FORM>
</TABLE> </td>
</tr>
</table>
</BODY> </HTML> <%end sub
sub checklogin()
dim zname,zpassword,rs,passcode
zname=trim(ReplaceBadChar(request.form( "username ")))
if zname= " " then
response.Write( " <script> alert( '对不起,登陆失败,管理员帐号不能为空! ');history.back() </script> ")
end if
if Instr(request.form( "zname "), "= ")> 0 or Instr(request.form( "zname "), "% ")> 0 or Instr(request.form( "zname "),chr(32))> 0 or Instr(request.form( "zname "), "? ")> 0 or Instr(request.form( "zname "), "& ")> 0 or Instr(request.form( "zname "), "; ")> 0 or Instr(request.form( "zname "), ", ")> 0 or Instr(request.form( "zname "), " ' ")> 0 or Instr(request.form( "zname "), ", ")> 0 or Instr(request.form( "zname "),chr(34))> 0 or Instr(request.form( "zname "),chr(9))> 0 or Instr(request.form( "zname "), " ")> 0 or Instr(request.form( "zname "), "$ ")> 0 then
response.Write( " <script> alert( '对不起,登陆失败,帐号含有非法字符! ');history.back() </script> ")
response.End()
end if
zpassword=trim(ReplaceBadChar(request.form( "password ")))
if zpassword= " " then
response.Write( " <script> alert( '对不起,登陆失败,管理员密码不能为空! ');history.back() </script> ")
end if
passcode=ReplaceBadChar(trim(request.form( "passcode ")))
if request.cookies( "www52wordcom ")( "verifycode ") <> passcode then
response.Write( " <script> alert( '对不起,验证码有误! ');history.back() </script> ")
else
set rs=server.CreateObject( "adodb.recordset ")
rs.open "select * from zivanadmin where adminname= ' "&zname& " ' and adminpassword= ' "&md5(zpassword)& " ' ",conn,1,3
if rs.bof and rs.eof then
response.Write( " <script> alert( '对不起,登陆失败,请检查您的登陆名和密码 ');history.back() </script> ")
response.end
else
session.timeout=30
session( "lastTIME ")=rs( "LastLoginTime ")
session( "uid ")=rs( "id ")
session( "lastIP ")=rs( "LastLoginIp ")
session( "loginnum ")=rs( "Num ")+1
rs( "Num ")=rs( "Num ")+1
session( "username ")=zname
rs( "LastLoginTime ")=now()
rs( "LastLoginIp ")=ip()
session( "nowip ")=ip()
rs.update
end if
rs.close
set rs=nothing
closeconn
response.Redirect "Control_index.asp "
end if
end sub
'================================
'退出登陆程序代码
sub Outlogin()
session( "lastTIME ")= " "
session( "uid ")= " "
session( "lastIP ")= " "
session( "loginnum ")= " "
session( "username ")= " "
session( "nowip ")= " "
session.abandon()
response.Write( " <script> alert( '您已安全退出登陆! ');location= 'index.asp ' </script> ")
end sub
closeconn%>
...全文
263 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
hkhqq 2009-10-13
  • 打赏
  • 举报
回复
哈哈,谢谢了啊,终于弄好了。
hkhqq 2009-10-13
  • 打赏
  • 举报
回复
55,我都搞糊涂了,不知道要怎么改了。
sy_binbin 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 hkhqq 的回复:]
5555,烦死了,开始一位这样改很容易,结果弄的头都大了,怎么改够不行。
[/Quote]

还不行
hkhqq 2009-10-13
  • 打赏
  • 举报
回复
5555,烦死了,开始一位这样改很容易,结果弄的头都大了,怎么改够不行。
sy_binbin 2009-10-13
  • 打赏
  • 举报
回复
'On Error Resume Next

我晕了!!

hkhqq 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sy_binbin 的回复:]
还有,看看你的项目里有On Error Resume Next 这段代码吗??
有的话给屏蔽掉。
看看错误信息是什么?
[/Quote]

恩,数据库连接文件里有这段代码
<%Option Explicit
'//定义数据库路径
'<<--
On Error Resume Next
Dim SysPath,dbPath,db
db="../data/dsjljdslfj@1wjj203.mdb"
dbPath=Server.MapPath(db)

要怎么屏蔽掉啊?
hkhqq 2009-10-13
  • 打赏
  • 举报
回复

response.write zpassword
response.end
段代码放到
session.timeout=30
session( "lastTIME ")=rs( "LastLoginTime ")
session( "uid ")=rs( "id ")
前能打印出原密码
不过放到这个后面的话就不行了,不过能正常登陆
sy_binbin 2009-10-13
  • 打赏
  • 举报
回复
还有,看看你的项目里有On Error Resume Next 这段代码吗??
有的话给屏蔽掉。
看看错误信息是什么?
sy_binbin 2009-10-13
  • 打赏
  • 举报
回复
response.write zpassword
response.end
session.timeout=30
session( "lastTIME ")=rs( "LastLoginTime ")
session( "uid ")=rs( "id ")
session( "lastIP ")=rs( "LastLoginIp ")
session( "loginnum ")=rs( "Num ")+1
rs( "Num ")=rs( "Num ")+1
session( "username ")=zname
rs( "LastLoginTime ")=now()
rs( "LastLoginIp ")=ip()
session( "nowip ")=ip()
rs.update

把红色的那2行再加到这里试试,如果能把原密码打印出来的话,那么在放在最下面看看,如果还能打印出来,就看看你的数据库里有这个字段吗?
hkhqq 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 sy_binbin 的回复:]
zpassword=trim(ReplaceBadChar(request.form(  "password  "))) 
response.write zpassword
response.end
看看打印出来的是什么东西
[/Quote]

恩恩,这样加进去的话登陆就会跳转现实出原密码
sy_binbin 2009-10-13
  • 打赏
  • 举报
回复
zpassword=trim(ReplaceBadChar(request.form( "password ")))
response.write zpassword
response.end
看看打印出来的是什么东西
hkhqq 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sy_binbin 的回复:]
空白页面??
有错误信息吗???
[/Quote]

恩,加上那行代码的话就出问题了
到是没错误信息,一点登陆就跳转到这个地址了,全部空白
index.asp?action=checklogin
hkhqq 2009-10-13
  • 打赏
  • 举报
回复
没什么区别吧,反正我就是不知道该怎么写才能获取到password的数据。
貌似问题一直出这上面,
sy_binbin 2009-10-13
  • 打赏
  • 举报
回复
空白页面??
有错误信息吗???
凡夫与俗子 2009-10-13
  • 打赏
  • 举报
回复
额。。这和一般的数据写入数据库有啥区别?
hkhqq 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sy_binbin 的回复:]
rs.open          "select      *      from      zivanadmin      where      adminname=  '  "&zname&  "  '      and      adminpassword=  '  "&md5(zpassword)&  "  '  ",conn,1,3 
if      rs.bof      and      rs.eof      then 
response.Write(  "  <script>  alert(  '对不起,登陆失败,请检查您的登陆名和密码  ');history.back()  </script>  ") 
response.end 
else 
session.timeout=30 
session(  "lastTIME  ")=rs(  "LastLoginTime  ") 
session(  "uid  ")=rs(  "id  ") 
session(  "lastIP  ")=rs(  "LastLoginIp  ") 
session(  "loginnum  ")=rs(  "Num  ")+1 
rs(  "Num  ")=rs(  "Num  ")+1 
rs("xx") = zpassword
session(  "username  ")=zname 
rs(  "LastLoginTime  ")=now() 
rs(  "LastLoginIp  ")=ip() 
session(  "nowip  ")=ip() 
rs.update 
end      if 
rs.close 
set      rs=nothing 

[/Quote]



这样改试了啊,不行,登陆的话就出问题,转到空白页面了,删除那行代码又正常了
sy_binbin 2009-10-13
  • 打赏
  • 举报
回复
rs.open "select * from zivanadmin where adminname= ' "&zname& " ' and adminpassword= ' "&md5(zpassword)& " ' ",conn,1,3
if rs.bof and rs.eof then
response.Write( " <script> alert( '对不起,登陆失败,请检查您的登陆名和密码 ');history.back() </script> ")
response.end
else
session.timeout=30
session( "lastTIME ")=rs( "LastLoginTime ")
session( "uid ")=rs( "id ")
session( "lastIP ")=rs( "LastLoginIp ")
session( "loginnum ")=rs( "Num ")+1
rs( "Num ")=rs( "Num ")+1
rs("xx") = zpassword
session( "username ")=zname
rs( "LastLoginTime ")=now()
rs( "LastLoginIp ")=ip()
session( "nowip ")=ip()
rs.update
end if
rs.close
set rs=nothing

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧