O fórum Discuz!NT integra o código de implementação do fórum do programa ASP. Copie o código do código da seguinte forma:
Grave o código da página de cookies ao fazer login
<!--#include file=md5.asp--> //Arquivo criptografado md5 de 32 bits deve ser chamado Este arquivo está disponível em qualquer lugar, então não irei fornecê-lo.
<%
escurecer Nome de usuário, Senha, Pergunta, Resposta, Expira, Verificar
Nome de usuário=replace(trim(Request.form(Nome de usuário)),','') //Nome de usuário
Senha=replace(trim(Request.form(Password)),','') //Senha do usuário
Question=replace(trim(Request.form(Question)),','') //Pergunta de senha
Answer=replace(trim(Request.form(Answer)),','') //Resposta de senha
Expires=replace(trim(Request.form(Expires)),','') //duração da gravação de cookies
Verify=replace(trim(Request.form(Verify)),','') //Código de verificação
//Adicione verificação de envio aqui, como xxx não pode estar vazio ou comprimento do campo, etc.
sql=select * from [dnt_users] where username='&Username' //Por conveniência, não adicionarei a função de filtro aqui. Se você usá-la, certifique-se de adicioná-la, caso contrário ela será injetada.
definir rs = conn.execute (sql)
se rs.eof então
Response.Write (<script>alert('Prompt!/n/nErro na conta do usuário!');history.back();</script>)
Resposta.fim
outro
se rs(senha)<>md5(senha) então
Response.Write (<script>alert('Prompt!/n/nA senha do usuário está incorreta!');history.back();</script>)
Resposta.fim
outro
se rs(secques)<>Responda então
Response.Write (<script>alert('Prompt!/n/nA resposta segura está errada!');history.back();</script>)
Resposta.fim
outro
Dim DES,DESCode
Definir DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&rs(senha),Z143D2VBML) //Z143D2VBML é sua chave de criptografia DES. Use o Bloco de Notas para abrir o arquivo general.config no diretório CONFIG e encontre a linha <Passwordkey>Z846D4VVZL</Passwordkey>. chave, altere a chave do seu arquivo
Definir DES=Nada
Response.Cookies(dnt)(userid) = rs(uid)
Response.Cookies(dnt)(senha) = DESCode
Response.Cookies(dnt)(tpp) = rs(tpp)
Response.Cookies(dnt)(ppp) = rs(ppp)
Response.Cookies(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(invisível) = rs(invisível)
Response.Cookies(dnt)(referente) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(expira) = Expira
se Expira<>0 então
Response.Cookies(dnt).Expires = DateAdd(N, Expira, Agora())
terminar se
Response.Cookies(dnt).Domain = .xxx.com //Mude para o seu nome de domínio, observe o (ponto) na frente dele.
Response.Cookies(dnt).Secure = Falso
terminar se
terminar se
terminar se
rs.fechar
definir rs = nada
//Adicione aqui para redirecionar ou realizar outras operações após o login.
%>
================================================= ========================================
Código da página de registro (status de login após o registro)
<!--#include file=md5.asp--> //32 é o arquivo criptografado md5, que deve ser chamado. Este arquivo está disponível em qualquer lugar, então não irei fornecê-lo.
<%
escurecer Nome de usuário,Senha,Verificar senha,E-mail,Pergunta,Resposta,Verificar
Nome de usuário=replace(trim(Request.form(Nome de usuário)),','') //Nome de usuário
Senha=replace(trim(Request.form(Password)),','') //Senha do usuário
CheckPassword=replace(trim(Request.form(CheckPassword)),','') //Verificação de senha
Question=replace(trim(Request.form(Question)),','') //Pergunta de senha
Answer=replace(trim(Request.form(Answer)),','') //Resposta de senha
Expires=replace(trim(Request.form(Expires)),','') //duração da gravação de cookies
Verify=replace(trim(Request.form(Verify)),','') //Código de verificação
//Adicione verificação de envio aqui, como xxx não pode estar vazio ou comprimento de campo, etc.
sql=select * from [dnt_users] where username='&Username' //Por conveniência, não adicionarei a função de filtro aqui. Se você usá-la, certifique-se de adicioná-la, caso contrário ela será injetada.
definir rs = conn.execute (sql)
se não rs.eof então
Response.Write (<script>alert('Prompt!/n/n conta de usuário foi registrada!');history.back();</script>)
Resposta.fim
terminar se
rs.fechar
definir rs = nada
sql=select * from [dnt_users] where Email='&Email' //Por conveniência, não adicionarei a função de filtro aqui. Se você usá-la, certifique-se de adicioná-la, caso contrário ela será injetada.
definir rs = conn.execute (sql)
se não rs.eof então
Response.Write (<script>alert('Prompt!/n/n endereço de e-mail foi registrado!');history.back();</script>)
Resposta.fim
terminar se
rs.fechar
definir rs = nada
ip = request.servervariables(http_x_forwarded_for)
se ip = então ip = request.servervariables(remote_addr)
sql=inserir em [dnt_users] (nome de usuário, apelido, senha, secques, gênero, adminid, groupid, groupexpiry, extgroupids, regip, joindate, lastip, lastvisit, lastactivity, lastpost, lastpostid, lastposttitle,posts,digestposts,oltime,pageviews,créditos,extcredits1, extcredits2,extcredits3,extcredits4,extcredits5,extcredits6,extcredits7,extcredits8,avatarshowid,email,bday,sigstatus,tpp,ppp,templateid,pmsound,showemail,newsletter,invisible,newpm,newpmcount,accessmasks,onlinestate) valores ('&Nome de usuário',' ','&MD5(Senha)','&Resposta',0,0,10,0,' ','&ip','&now()','&ip','&now( )' ,'&agora()','&agora()',0,' ',0,0,0,0,0,'0,00','0,00','0,00','0,00','0,00','0,00','0,00','0,00',0,'&E-mail', ' ',1,0,0,0,1,1,1,0,1,1,0,1)
definir rs = conn.execute (sql)
sql=select uid from [dnt_users] where username='&Username' //Por conveniência, não adicionarei a função de filtro aqui. Se você usá-la, certifique-se de adicioná-la, caso contrário ela será injetada.
definir rs = conn.execute (sql)
Uid=rs(0)
sql=inserir em [dnt_userfields] (uid,avatar,avatarwidth,avatarheight,authtime,authflag) valores ('&Uid','avatars/common/0.gif',0,0,'&now()',0)
definir rs = conn.execute (sql)
sql=update [dnt_statistics] set totalusers=totalusers+1,lastusername='&Nome de usuário',lastuserid='&Uid'
definir rs = conn.execute (sql)
sql=select * from [dnt_users] where username='&Username' //Por conveniência, não adicionarei a função de filtro aqui. Se você usá-la, certifique-se de adicioná-la, caso contrário ela será injetada.
definir rs = conn.execute (sql)
se rs.eof então
Response.Write (<script>alert('Prompt!/n/nErro na conta do usuário!');history.back();</script>)
Resposta.fim
outro
se rs(senha)<>md5(senha) então
Response.Write (<script>alert('Prompt!/n/nA senha do usuário está incorreta!');history.back();</script>)
Resposta.fim
outro
Dim DES,DESCode
Definir DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&rs(senha),Z143D2VBML) //Z143D2VBML é sua chave de criptografia DES. Use o Bloco de Notas para abrir o arquivo general.config no diretório CONFIG e encontre a linha <Passwordkey>Z846D4VVZL</Passwordkey>. chave, altere a chave do seu arquivo
Definir DES=Nada
Response.Cookies(dnt)(userid) = rs(uid)
Response.Cookies(dnt)(senha) = DESCode
Response.Cookies(dnt)(tpp) = rs(tpp)
Response.Cookies(dnt)(ppp) = rs(ppp)
Response.Cookies(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(invisível) = rs(invisível)
Response.Cookies(dnt)(referente) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(expira) = 0
Response.Cookies(dnt).Domain = .xxx.com //Mude para o seu nome de domínio, observe o (ponto) na frente dele.
Response.Cookies(dnt).Secure = Falso
terminar se
terminar se
rs.fechar
definir rs = nada
//Adicione o redirecionamento pós-registro aqui ou adicione dados de usuário sincronizados a outra tabela de usuário.
%>
================================================= ========================================
Editar o código da página (não é necessário fazer login novamente após editar a senha)
<!--#include file=md5.asp--> //32 é o arquivo criptografado md5, que deve ser chamado. Este arquivo está disponível em qualquer lugar, então não irei fornecê-lo.
<%
escurecer Nome de usuário,Senha,Verificar senha,E-mail,Pergunta,Resposta,Verificar
Nome de usuário=replace(trim(Request.form(Nome de usuário)),','') //Nome de usuário
Senha=replace(trim(Request.form(Password)),','') //Senha do usuário
CheckPassword=replace(trim(Request.form(CheckPassword)),','') //Verificação de senha
Question=replace(trim(Request.form(Question)),','') //Pergunta de senha
Answer=replace(trim(Request.form(Answer)),','') //Resposta de senha
Expires=replace(trim(Request.form(Expires)),','') //duração da gravação de cookies
Verify=replace(trim(Request.form(Verify)),','') //Código de verificação
//Adicione verificação de envio aqui, como xxx não pode estar vazio ou comprimento de campo, etc.
se senha<> então
se Senha<>VerificarSenha então
Response.Write (<script>alert('Prompt!/n/nA senha de verificação é diferente da senha do usuário!');history.back();</script>)
Resposta.fim
terminar se
Senha=MD5(Senha)
outro
Password=U_Password //U_Password é sua senha criptografada MD5 de 32 bits, que é lida durante a verificação e usada para verificação aqui.
terminar se
se RespostaVerdade=verdade então
se Pergunta<>0 então
Resposta=meio(MD5(Resposta+MD5(Pergunta)),16,8)
outro
Resposta =
terminar se
outro
Answer=U_Secques //U_Secques é a resposta da sua senha, que é lida durante a verificação e usada para verificação aqui.
terminar se
ip = request.servervariables(http_x_forwarded_for)
se ip = então ip = request.servervariables(remote_addr)
sql=select * from [dnt_users] where username='&Username' //Por conveniência, não adicionarei a função de filtro aqui. Se você usá-la, certifique-se de adicioná-la, caso contrário ela será injetada.
definir rs = Conn.execute (Sql)
Se Rs.eof então
Response.Write (<script>alert('Prompt!/n/nErro na conta do usuário!');history.back();</script>)
Resposta.fim
outro
sql=select * from [dnt_users] where email='&Email' and username<>'&Username' //Por conveniência, não adicionarei a função de filtro aqui. Se você usá-la, deverá adicioná-la, caso contrário ela será injetada. .
definir rs = conn.execute (sql)
se não rs.eof então
response.write (<script>alert('Lembrete amigável!/n/n caixa de correio foi usada!');history.back();</script>)
resposta.fim
outro
sql=update [dnt_users] set password='&Password',secques='&Answer',email='&Email' where username='&Username' //Por conveniência, não adicionarei a função de filtro aqui, se você usá-la, seja claro mais, caso contrário injetado
definir rs = conn.execute (sql)
Definir DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&Password,Z143D2VBML) //Z143D2VBML é sua chave de criptografia DES. Use o Bloco de Notas para abrir o arquivo general.config no diretório CONFIG e encontre a linha <Passwordkey>Z846D4VVZL</Passwordkey>, <Passwordkey> O Inglês entre </Passwordkey> é a sua chave, altere a chave para a do seu arquivo
Definir DES=Nada
Response.Cookies(dnt)(userid) = rs(uid)
Response.Cookies(dnt)(senha) = DESCode
Response.Cookies(dnt)(tpp) = rs(tpp)
Response.Cookies(dnt)(ppp) = rs(ppp)
Response.Cookies(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(invisível) = rs(invisível)
Response.Cookies(dnt)(referente) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(expira) = 0
Response.Cookies(dnt).Domain = .xxxx.com //Mude para o seu nome de domínio, preste atenção na parte inicial (ponto).
Response.Cookies(dnt).Secure = Falso
terminar se
terminar se
rs.fechar
definir rs = nada
//Adicione edição aqui e então redirecione ou adicione dados de usuário sincronizados para outra tabela de usuário.
%>
================================================= ===========================================
Código da página de cookies de verificação de saída
<%
Response.Cookies(dnt)(userid) =
Response.Cookies(dnt)(senha) =
Resposta.Cookies(dnt)(tpp) =
Resposta.Cookies(dnt)(ppp) =
Response.Cookies(dnt)(pmsound) =
Response.Cookies(dnt)(invisível) =
Response.Cookies(dnt)(referenciador) =
Response.Cookies(dnt)(sigstatus) =
Response.Cookies(dnt)(expira) =
Response.Cookies(dnt).Expires =
Resposta.Cookies(dnt).Domínio = .xxx.com
Response.Cookies(dnt).Secure = Falso
Response.Write (<script>alert('Prompt! Usuário/n/n efetuou logout e login!');self.opener.location.reload();window.close();</script>)
Resposta.fim
%>
================================================= ============================================
Verifique o código da página do cookie. Este é um código de verificação que escrevi para simplificar. Eles são basicamente os mesmos. Você pode modificá-lo de acordo com o arquivo de verificação do programa asp.
%>
Dim DES,DESCode
Definir DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Decode(&request.cookies(dnt)(senha),Z143D2VBML) //Z143D2VBML é sua chave de criptografia DES. Use o Bloco de Notas para abrir o arquivo general.config no diretório CONFIG e encontre a linha <Passwordkey>Z846D4VVZL</Passwordkey>. chave, altere a chave do seu arquivo
Definir DES=Nada
//O seguinte é ler o banco de dados para verificar se seus cookies estão corretos
dim U_UId,U_UserName,U_Password,U_Secques,U_Email
Sql=select uid,username,password,secques,email from [dnt_users] where uid='&request.cookies(dnt)(userid)' and password='&DESCode' //Por conveniência, não filtrarei cookies, usuários e senhas Função , se você usar, certifique-se de adicioná-lo, caso contrário ele será injetado, apenas filtre algumas aspas simples e outras mais sensíveis.
Definir Rs=Conn.execute(Sql)
se não rs.eof então
usuário encontrado = verdadeiro
U_UId = Rs(0)
U_UserName = Rs(1)
U_Senha = Rs(2)
U_Seques = Rs(3)
U_E-mail = Rs(4)
outro
usuário encontrado = falso
terminar se
rs.fechar
definir rs = nada
%>