Discuz!NT论坛整合ASP程序论坛教程
2023-06-13 09:14:10 时间
登陆时记录cookies页面代码
<!--#includefile="md5.asp"-->//32位md5加密文件,一定得调用,该文件到处有,我就不提供了
<%
dimUsername,Password,Question,Answer,Expires,Verify
Username=replace(trim(Request.form("Username")),""","""")//用户名
Password=replace(trim(Request.form("Password")),""","""")//用户密码
Question=replace(trim(Request.form("Question")),""","""")//密码问题
Answer=replace(trim(Request.form("Answer")),""","""")//密码答案
Expires=replace(trim(Request.form("Expires")),""","""")//cookies记录时长
Verify=replace(trim(Request.form("Verify")),""","""")//验证码
//此处加上提交的验证,如xxx不能为空等或字段长度等
sql="select*from[dnt_users]whereusername=""&Username"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=conn.execute(sql)
ifrs.eofthen
Response.Write("<script>alert("提示!\n\n用户帐号错误!");history.back();</script>")
Response.end
else
ifrs("password")<>md5(Password)then
Response.Write("<script>alert("提示!\n\n用户密码错误!");history.back();</script>")
Response.end
else
ifrs("secques")<>Answerthen
Response.Write("<script>alert("提示!\n\n安全答案错误!");history.back();</script>")
Response.end
else
DimDES,DESCode
SetDES=Server.CreateObject("DiscuzNT.DES")
DESCode=DES.Encode(""&rs("password")"","Z143D2VBML")//Z143D2VBML为你的DES加密密钥,请用记事本打开CONFIG目录里的general.config文件,找到<Passwordkey>Z846D4VVZL</Passwordkey>这行,<Passwordkey>与</Passwordkey>中间的英文就是你的密钥,把密钥修改成你的文件的
SetDES=Nothing
Response.Cookies("dnt")("userid")=rs("uid")
Response.Cookies("dnt")("password")=DESCode
Response.Cookies("dnt")("tpp")=rs("tpp")
Response.Cookies("dnt")("ppp")=rs("ppp")
Response.Cookies("dnt")("pmsound")=rs("pmsound")
Response.Cookies("dnt")("invisible")=rs("invisible")
Response.Cookies("dnt")("referer")="index.aspx"
Response.Cookies("dnt")("sigstatus")=rs("sigstatus")
Response.Cookies("dnt")("expires")=Expires
ifExpires<>0then
Response.Cookies("dnt").Expires=DateAdd("N",Expires,Now())
endif
Response.Cookies("dnt").Domain=".xxx.com"//修改为你的域名,注意前面带.(点)
Response.Cookies("dnt").Secure=False
endif
endif
endif
rs.close
setrs=nothing
//此处加登陆后转向或向其他操作,具体你自己看着办
%>
===========================================================================================
注册页面代码(注册完后同时登陆状态)
<!--#includefile="md5.asp"-->//32为md5加密文件,一定得调用,该文件到处有,我就不提供了
<%
dimUsername,Password,CheckPassword,Email,Question,Answer,Verify
Username=replace(trim(Request.form("Username")),""","""")//用户名
Password=replace(trim(Request.form("Password")),""","""")//用户密码
CheckPassword=replace(trim(Request.form("CheckPassword")),""","""")//密码验证
Question=replace(trim(Request.form("Question")),""","""")//密码问题
Answer=replace(trim(Request.form("Answer")),""","""")//密码答案
Expires=replace(trim(Request.form("Expires")),""","""")//cookies记录时长
Verify=replace(trim(Request.form("Verify")),""","""")//验证码
//此处加上提交的验证,如xxx不能为空等或字段长度等
sql="select*from[dnt_users]whereusername=""&Username"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=conn.execute(sql)
ifnotrs.eofthen
Response.Write("<script>alert("提示!\n\n用户帐号已被注册使用!");history.back();</script>")
Response.end
endif
rs.close
setrs=nothing
sql="select*from[dnt_users]whereEmail=""&Email"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=conn.execute(sql)
ifnotrs.eofthen
Response.Write("<script>alert("提示!\n\n电子邮箱已被注册使用!");history.back();</script>")
Response.end
endif
rs.close
setrs=nothing
ip=request.servervariables("http_x_forwarded_for")
ifip=""thenip=request.servervariables("remote_addr")
sql="insertinto[dnt_users](username,nickname,password,secques,gender,adminid,groupid,groupexpiry,extgroupids,regip,joindate,lastip,lastvisit,lastactivity,lastpost,lastpostid,lastposttitle,posts,digestposts,oltime,pageviews,credits,extcredits1,extcredits2,extcredits3,extcredits4,extcredits5,extcredits6,extcredits7,extcredits8,avatarshowid,email,bday,sigstatus,tpp,ppp,templateid,pmsound,showemail,newsletter,invisible,newpm,newpmcount,accessmasks,onlinestate)values(""&Username"","",""&MD5(Password)"",""&Answer"",0,0,10,0,"",""&ip"",""&now()"",""&ip"",""&now()"",""&now()"",""&now()"",0,"",0,0,0,0,0,"0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00",0,""&Email"","",1,0,0,0,1,1,1,0,1,1,0,1)"
setrs=conn.execute(sql)
sql="selectuidfrom[dnt_users]whereusername=""&Username"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=conn.execute(sql)
Uid=rs(0)
sql="insertinto[dnt_userfields](uid,avatar,avatarwidth,avatarheight,authtime,authflag)values(""&Uid"","avatars\common\0.gif",0,0,""&now()"",0)"
setrs=conn.execute(sql)
sql="update[dnt_statistics]settotalusers=totalusers+1,lastusername=""&Username"",lastuserid=""&Uid"""
setrs=conn.execute(sql)
sql="select*from[dnt_users]whereusername=""&Username"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=conn.execute(sql)
ifrs.eofthen
Response.Write("<script>alert("提示!\n\n用户帐号错误!");history.back();</script>")
Response.end
else
ifrs("password")<>md5(Password)then
Response.Write("<script>alert("提示!\n\n用户密码错误!");history.back();</script>")
Response.end
else
DimDES,DESCode
SetDES=Server.CreateObject("DiscuzNT.DES")
DESCode=DES.Encode(""&rs("password")"","Z143D2VBML")//Z143D2VBML为你的DES加密密钥,请用记事本打开CONFIG目录里的general.config文件,找到<Passwordkey>Z846D4VVZL</Passwordkey>这行,<Passwordkey>与</Passwordkey>中间的英文就是你的密钥,把密钥修改成你的文件的
SetDES=Nothing
Response.Cookies("dnt")("userid")=rs("uid")
Response.Cookies("dnt")("password")=DESCode
Response.Cookies("dnt")("tpp")=rs("tpp")
Response.Cookies("dnt")("ppp")=rs("ppp")
Response.Cookies("dnt")("pmsound")=rs("pmsound")
Response.Cookies("dnt")("invisible")=rs("invisible")
Response.Cookies("dnt")("referer")="index.aspx"
Response.Cookies("dnt")("sigstatus")=rs("sigstatus")
Response.Cookies("dnt")("expires")=0
Response.Cookies("dnt").Domain=".xxx.com"//修改为你的域名,注意前面带.(点)
Response.Cookies("dnt").Secure=False
endif
endif
rs.close
setrs=nothing
//此处加注册后转向或向另外一个用户表添加同步用户数据,具体你自己看着办
%>
===========================================================================================
编辑页面代码(编辑密码后无需重新登陆)
<!--#includefile="md5.asp"-->//32为md5加密文件,一定得调用,该文件到处有,我就不提供了
<%
dimUsername,Password,CheckPassword,Email,Question,Answer,Verify
Username=replace(trim(Request.form("Username")),""","""")//用户名
Password=replace(trim(Request.form("Password")),""","""")//用户密码
CheckPassword=replace(trim(Request.form("CheckPassword")),""","""")//密码验证
Question=replace(trim(Request.form("Question")),""","""")//密码问题
Answer=replace(trim(Request.form("Answer")),""","""")//密码答案
Expires=replace(trim(Request.form("Expires")),""","""")//cookies记录时长
Verify=replace(trim(Request.form("Verify")),""","""")//验证码
//此处加上提交的验证,如xxx不能为空等或字段长度等
ifPassword<>""then
ifPassword<>CheckPasswordthen
Response.Write("<script>alert("提示!\n\n验证密码与用户密码不相同!");history.back();</script>")
Response.end
endif
Password=MD5(Password)
else
Password=U_Password//U_Password为你的32位MD5加密密码,在验证时读取出来用来这里验证
endif
ifAnswerTrue="true"then
ifQuestion<>0then
Answer=mid(MD5(Answer+MD5(Question)),16,8)
else
Answer=""
endif
else
Answer=U_Secques//U_Secques为你的密码答案,在验证时读取出来用来这里验证
endif
ip=request.servervariables("http_x_forwarded_for")
ifip=""thenip=request.servervariables("remote_addr")
sql="select*from[dnt_users]whereusername=""&Username"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=Conn.execute(Sql)
IfRs.eofthen
Response.Write("<script>alert("提示!\n\n用户帐号错误!");history.back();</script>")
Response.end
else
sql="select*from[dnt_users]whereemail=""&Email""andusername<>""&Username"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=conn.execute(sql)
ifnotrs.eofthen
response.write("<script>alert("友情提示!\n\n邮箱已被使用!");history.back();</script>")
response.end
else
sql="update[dnt_users]setpassword=""&Password"",secques=""&Answer"",email=""&Email""whereusername=""&Username"""//为了方便,此处我就不加过滤函数了,如你使用时一定加上,否则被注入
setrs=conn.execute(sql)
SetDES=Server.CreateObject("DiscuzNT.DES")
DESCode=DES.Encode(""&Password"","Z143D2VBML")//Z143D2VBML为你的DES加密密钥,请用记事本打开CONFIG目录里的general.config文件,找到<Passwordkey>Z846D4VVZL</Passwordkey>这行,<Passwordkey>与</Passwordkey>中间的英文就是你的密钥,把密钥修改成你的文件的
SetDES=Nothing
Response.Cookies("dnt")("userid")=rs("uid")
Response.Cookies("dnt")("password")=DESCode
Response.Cookies("dnt")("tpp")=rs("tpp")
Response.Cookies("dnt")("ppp")=rs("ppp")
Response.Cookies("dnt")("pmsound")=rs("pmsound")
Response.Cookies("dnt")("invisible")=rs("invisible")
Response.Cookies("dnt")("referer")="index.aspx"
Response.Cookies("dnt")("sigstatus")=rs("sigstatus")
Response.Cookies("dnt")("expires")=0
Response.Cookies("dnt").Domain=".xxxx.com"//修改为你的域名,注意前面带.(点)
Response.Cookies("dnt").Secure=False
endif
endif
rs.close
setrs=nothing
//此处加编辑后转向或向另外一个用户表添加同步用户数据,具体你自己看着办
%>
=============================================================================================
退出验证cookies页面代码
<%
Response.Cookies("dnt")("userid")=""
Response.Cookies("dnt")("password")=""
Response.Cookies("dnt")("tpp")=""
Response.Cookies("dnt")("ppp")=""
Response.Cookies("dnt")("pmsound")=""
Response.Cookies("dnt")("invisible")=""
Response.Cookies("dnt")("referer")=""
Response.Cookies("dnt")("sigstatus")=""
Response.Cookies("dnt")("expires")=""
Response.Cookies("dnt").Expires=""
Response.Cookies("dnt").Domain=".xxx.com"
Response.Cookies("dnt").Secure=False
Response.Write("<script>alert("提示!\n\n用户注销登陆完毕!");self.opener.location.reload();window.close();</script>")
Response.end
%>
==============================================================================================
验证cookies页面代码,这是我为了简单随手写的一段验证代码,基本都是大同小异,具体你根据你的asp程序验证文件来修改
%>
DimDES,DESCode
SetDES=Server.CreateObject("DiscuzNT.DES")
DESCode=DES.Decode(""&request.cookies("dnt")("password")"","Z143D2VBML")//Z143D2VBML为你的DES加密密钥,请用记事本打开CONFIG目录里的general.config文件,找到<Passwordkey>Z846D4VVZL</Passwordkey>这行,<Passwordkey>与</Passwordkey>中间的英文就是你的密钥,把密钥修改成你的文件的
SetDES=Nothing
//下面是读取数据库来验证你的cookies是否正确
dimU_UId,U_UserName,U_Password,U_Secques,U_Email
Sql="selectuid,username,password,secques,emailfrom[dnt_users]whereuid=""&request.cookies("dnt")("userid")""andpassword=""&DESCode"""//为了方便,cookies用户和密码我就不加过滤函数了,如你使用时一定加上,否则被注入,就过滤些单引号及一些比较敏感的就可以了
SetRs=Conn.execute(Sql)
ifnotrs.eofthen
founduser=true
U_UId=Rs(0)
U_UserName=Rs(1)
U_Password=Rs(2)
U_Secques=Rs(3)
U_Email=Rs(4)
else
founduser=false
endif
rs.close
setrs=nothing
%>
相关文章
- ASP.NET中使用UpdatePanel实现局部异步刷新方法和攻略「建议收藏」
- jav_video_ASP 第三方控件
- .net让Oracle与ASP.NET实现无缝连接(oracleasp)
- .net利用MSSQL连接ASP.NET的办法探索(mssql 连接asp)
- ASP程序查询MSSQL数据库的实践经验(asp查询mssql)
- 让Linux支持ASP:开启技术新时代(让linux支持asp)
- ASP程序如何利用MySQL更好地实现服务(asp需要用到mysql)
- ASP连接MySQL编码入门实战(asp链接mysql代码)
- Asp连接MySQL破解连接字符之谜(asp连接mysql符串)
- 使用ASP连接MySQL数据库,轻松实现功能扩展(asp连mysql数据库)
- 库ASP实现MySQL数据库的轻松访问(asp读取mysql数据)
- ASP如何使用代码登录MySQL数据库(asp登陆mysql代码)
- 使用MySQL轻松实现ASP数据库应用(asp数据库用mysql)
- 基于ASP技术连接MySQL数据库(asp支持mysql)
- ASP得到文件的大小类型最后修改时间
- asp:生成静态页面函数
- asp,asp.net学习教程下载
- ASP+XML留言板介绍
- 讲解ASP方面的知识比较全的asp学习教程
- 超级ASP大分页_我的类容我做主
- asp事物功能简单小应用
- asp教程中getpost提交表单有5点区别
- ASP.NET之自定义异步HTTP处理程序(图文教程)
- ASP.NETASHX中获得Session的方法
- ASP.NET自定义Web服务器控件之Button控件
- asp中使用redim、preserve创建动态数组实例