不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Dvbbs在用户注册时缺少对其他整合系统用户名检测解决方法
编辑:dnawo 日期:2008-01-23
一、问题
Dvbbs在用户注册时没有对其他整合系统用户名进行检测,这会导致用系统中存在的用户名进行注册时其他系统注册成功而动网注册失败,结果是其他系统中存在用户名一样的多个用户!这个问题在Dvbbs7.1、8.0、8.1中均存在。
二、分析
一个完整的注册流程应是:
其他系统用户名检测→动网用户名检测→其他系统用户注册→动网用户注册
当然,也可以省略掉第一个步骤:
动网用户名检测→其他系统用户注册→动网用户注册
但是动网现在的注册步骤是:
其他系统用户注册→动网用户名检测→动网用户注册
可以说流程存在问题,也可以说缺少了其他系统的用户名检测。
三、解决方法
打开reg.asp,找到reg_3函数,将系统整合注册部分代码移到动网用户名检测之后即可,修改结果如下(红色部分代码移到了现在的位置):
Dvbbs在用户注册时没有对其他整合系统用户名进行检测,这会导致用系统中存在的用户名进行注册时其他系统注册成功而动网注册失败,结果是其他系统中存在用户名一样的多个用户!这个问题在Dvbbs7.1、8.0、8.1中均存在。
二、分析
一个完整的注册流程应是:
其他系统用户名检测→动网用户名检测→其他系统用户注册→动网用户注册
当然,也可以省略掉第一个步骤:
动网用户名检测→其他系统用户注册→动网用户注册
但是动网现在的注册步骤是:
其他系统用户注册→动网用户名检测→动网用户注册
可以说流程存在问题,也可以说缺少了其他系统的用户名检测。
三、解决方法
打开reg.asp,找到reg_3函数,将系统整合注册部分代码移到动网用户名检测之后即可,修改结果如下(红色部分代码移到了现在的位置):
复制内容到剪贴板
程序代码

Rs.Open Sql,Conn,1,3
If Not Rs.Eof Then
If Request("Forum_Passport")<>"" And Cint(Dvbbs.Forum_Setting(24))=1 Then
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册或者已经有用户使用了您填写的电子邮件地址。<li>或者您选择了填写了论坛通行证帐号,但所使用的通行证在本论坛已经被使用,您可以选择使用该<a href=login.asp>通行证登录论坛</a>。&action=OtherErr"
ElseIf Request("Forum_Passport")<>"" Then
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册。<li>或者您选择了填写了论坛通行证帐号,但所使用的通行证在本论坛已经被使用,您可以选择使用该<a href=login.asp>通行证登录论坛</a>。&action=OtherErr"
ElseIf Cint(Dvbbs.Forum_Setting(24))=1 Then
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册或者已经有用户使用了您填写的电子邮件地址。&action=OtherErr"
Else
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册。&action=OtherErr"
End If
Exit Sub
Else
'-----------------------------------------------------------------
'系统整合
'-----------------------------------------------------------------
Dim DvApi_Obj,DvApi_SaveCookie,SysKey
If DvApi_Enable Then
'SysKey = Md5(UserName&DvApi_SysKey,16)
Set DvApi_Obj = New DvApi
'DvApi_Obj.NodeValue "syskey",SysKey,0,False
DvApi_Obj.NodeValue "action","reguser",0,False
DvApi_Obj.NodeValue "username",UserName,1,False
Md5OLD = 1
SysKey = Md5(DvApi_Obj.XmlNode("username")&DvApi_SysKey,16)
Md5OLD = 0
DvApi_Obj.NodeValue "syskey",SysKey,0,False
DvApi_Obj.NodeValue "password",pass2,0,False
DvApi_Obj.NodeValue "email",UserEmail,1,False
DvApi_Obj.NodeValue "question",quesion,1,False
DvApi_Obj.NodeValue "answer",Request.form("answer"),1,False
DvApi_Obj.NodeValue "truename",Request.Form("realname"),1,False
DvApi_Obj.NodeValue "gender",sex,0,False
DvApi_Obj.NodeValue "birthday",birthday,0,False
DvApi_Obj.NodeValue "qq",Qq,1,False
DvApi_Obj.NodeValue "msn",Request.form("msn"),1,False
DvApi_Obj.NodeValue "mobile",Request.Form("userphone"),1,False
DvApi_Obj.NodeValue "homepage",Request.form("homepage"),1,False
DvApi_Obj.SendHttpData
If DvApi_Obj.Status = "1" Then
Response.redirect "showerr.asp?ErrCodes="& DvApi_Obj.Message &"&action=OtherErr"
Exit Sub
Else
DvApi_SaveCookie = DvApi_Obj.SetCookie(SysKey,UserName,Password,Request("usercookies"))
End If
Set DvApi_Obj = Nothing
End If
'-----------------------------------------------------------------
Rs.AddNew
UserJoinTime = Now()
Rs("UserName")=username
Rs("UserPassword")=password
Rs("UserEmail")=useremail
Rs("Userclass")=userclass
Rs("TitlePic")=titlepic
Rs("UserQuesion")=quesion
Rs("UserAnswer")=answer
Rs("TruePassWord")=TruePassWord
Rs("UserIM")=UserIM
If Request.Form("Signature")<>"" Then Rs("UserSign")=Dvbbs.Htmlencode(Trim(Request.Form("Signature")))
Rs("UserPost")=0
If Dvbbs.Forum_Setting(25)="1" Then
Rs("UserGroupID")=5
Else
Rs("UserGroupID")=Dvbbs.UserGroupID
End If
Rs("Lockuser")=0
Rs("UserSex")=sex
If birthday<>"" Then rs("UserBirthday")=birthday
'Rs("UserGroup")=Request.form("UserGroup")
Rs("JoinDate")=UserJoinTime
If Request.form("myface")<>"" Then
Rs("UserFace")=replace(Dv_FilterJS(face),"'","")
Else
Rs("UserFace")=replace(Dv_FilterJS(face),"'","")
End If
Rs("UserWidth")=Width
Rs("Usertoday")="0|0|0|0|0"
Rs("UserHeight")=height
Rs("UserLogins")=1
Rs("LastLogin")=UserJoinTime
Rs("userWealth")=dvbbs.Forum_user(0)
Rs("userEP")=dvbbs.Forum_user(5)
Rs("usercP")=dvbbs.Forum_user(10)
Rs("UserInfo")=userinfo
Rs("UserSetting")=usersetting
Rs("UserPower")=0
Rs("UserDel")=0
Rs("UserIsbest")=0
Rs("UserMoney")=0
Rs("UserTicket")=0
Rs("UserFav")="陌生人,我的好友,黑名单"
Rs("IsChallenge")=0
Rs("UserHidden")=0
Rs("UserLastIP")=Dvbbs.UserTrueIP
Rs.Update
Dvbbs.Execute("Update Dv_Setup Set Forum_UserNum=Forum_UserNum+1,Forum_lastUser='"&Dvbbs.HtmlEncode(username)&"'")
End If
If Not Rs.Eof Then
If Request("Forum_Passport")<>"" And Cint(Dvbbs.Forum_Setting(24))=1 Then
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册或者已经有用户使用了您填写的电子邮件地址。<li>或者您选择了填写了论坛通行证帐号,但所使用的通行证在本论坛已经被使用,您可以选择使用该<a href=login.asp>通行证登录论坛</a>。&action=OtherErr"
ElseIf Request("Forum_Passport")<>"" Then
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册。<li>或者您选择了填写了论坛通行证帐号,但所使用的通行证在本论坛已经被使用,您可以选择使用该<a href=login.asp>通行证登录论坛</a>。&action=OtherErr"
ElseIf Cint(Dvbbs.Forum_Setting(24))=1 Then
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册或者已经有用户使用了您填写的电子邮件地址。&action=OtherErr"
Else
Response.redirect "showerr.asp?ErrCodes=<li>您填写的用户名已经被注册。&action=OtherErr"
End If
Exit Sub
Else
'-----------------------------------------------------------------
'系统整合
'-----------------------------------------------------------------
Dim DvApi_Obj,DvApi_SaveCookie,SysKey
If DvApi_Enable Then
'SysKey = Md5(UserName&DvApi_SysKey,16)
Set DvApi_Obj = New DvApi
'DvApi_Obj.NodeValue "syskey",SysKey,0,False
DvApi_Obj.NodeValue "action","reguser",0,False
DvApi_Obj.NodeValue "username",UserName,1,False
Md5OLD = 1
SysKey = Md5(DvApi_Obj.XmlNode("username")&DvApi_SysKey,16)
Md5OLD = 0
DvApi_Obj.NodeValue "syskey",SysKey,0,False
DvApi_Obj.NodeValue "password",pass2,0,False
DvApi_Obj.NodeValue "email",UserEmail,1,False
DvApi_Obj.NodeValue "question",quesion,1,False
DvApi_Obj.NodeValue "answer",Request.form("answer"),1,False
DvApi_Obj.NodeValue "truename",Request.Form("realname"),1,False
DvApi_Obj.NodeValue "gender",sex,0,False
DvApi_Obj.NodeValue "birthday",birthday,0,False
DvApi_Obj.NodeValue "qq",Qq,1,False
DvApi_Obj.NodeValue "msn",Request.form("msn"),1,False
DvApi_Obj.NodeValue "mobile",Request.Form("userphone"),1,False
DvApi_Obj.NodeValue "homepage",Request.form("homepage"),1,False
DvApi_Obj.SendHttpData
If DvApi_Obj.Status = "1" Then
Response.redirect "showerr.asp?ErrCodes="& DvApi_Obj.Message &"&action=OtherErr"
Exit Sub
Else
DvApi_SaveCookie = DvApi_Obj.SetCookie(SysKey,UserName,Password,Request("usercookies"))
End If
Set DvApi_Obj = Nothing
End If
'-----------------------------------------------------------------
Rs.AddNew
UserJoinTime = Now()
Rs("UserName")=username
Rs("UserPassword")=password
Rs("UserEmail")=useremail
Rs("Userclass")=userclass
Rs("TitlePic")=titlepic
Rs("UserQuesion")=quesion
Rs("UserAnswer")=answer
Rs("TruePassWord")=TruePassWord
Rs("UserIM")=UserIM
If Request.Form("Signature")<>"" Then Rs("UserSign")=Dvbbs.Htmlencode(Trim(Request.Form("Signature")))
Rs("UserPost")=0
If Dvbbs.Forum_Setting(25)="1" Then
Rs("UserGroupID")=5
Else
Rs("UserGroupID")=Dvbbs.UserGroupID
End If
Rs("Lockuser")=0
Rs("UserSex")=sex
If birthday<>"" Then rs("UserBirthday")=birthday
'Rs("UserGroup")=Request.form("UserGroup")
Rs("JoinDate")=UserJoinTime
If Request.form("myface")<>"" Then
Rs("UserFace")=replace(Dv_FilterJS(face),"'","")
Else
Rs("UserFace")=replace(Dv_FilterJS(face),"'","")
End If
Rs("UserWidth")=Width
Rs("Usertoday")="0|0|0|0|0"
Rs("UserHeight")=height
Rs("UserLogins")=1
Rs("LastLogin")=UserJoinTime
Rs("userWealth")=dvbbs.Forum_user(0)
Rs("userEP")=dvbbs.Forum_user(5)
Rs("usercP")=dvbbs.Forum_user(10)
Rs("UserInfo")=userinfo
Rs("UserSetting")=usersetting
Rs("UserPower")=0
Rs("UserDel")=0
Rs("UserIsbest")=0
Rs("UserMoney")=0
Rs("UserTicket")=0
Rs("UserFav")="陌生人,我的好友,黑名单"
Rs("IsChallenge")=0
Rs("UserHidden")=0
Rs("UserLastIP")=Dvbbs.UserTrueIP
Rs.Update
Dvbbs.Execute("Update Dv_Setup Set Forum_UserNum=Forum_UserNum+1,Forum_lastUser='"&Dvbbs.HtmlEncode(username)&"'")
End If
评论: 0 | 引用: 0 | 查看次数: 4722
发表评论
请登录后再发表评论!