Das Discuz!NT-Forum integriert den Implementierungscode des ASP-Programmforums. Kopieren Sie den Codecode wie folgt:
Notieren Sie den Cookie-Seitencode beim Anmelden
<!--#include file=md5.asp--> //32-Bit-MD5-verschlüsselte Datei muss aufgerufen werden. Diese Datei ist überall verfügbar, daher werde ich sie nicht bereitstellen.
<%
Dimmen Sie Benutzername, Passwort, Frage, Antwort, Läuft ab, Überprüfen
Benutzername=replace(trim(Request.form(Benutzername)),','') //Benutzername
Password=replace(trim(Request.form(Password)),','') //Benutzerpasswort
Question=replace(trim(Request.form(Question)),','') //Passwortfrage
Answer=replace(trim(Request.form(Answer)),','') //Passwort-Antwort
Expires=replace(trim(Request.form(Expires)),','') //Cookie-Aufzeichnungsdauer
Verify=replace(trim(Request.form(Verify)),','') //Bestätigungscode
// Fügen Sie hier eine Übermittlungsüberprüfung hinzu, z. B. xxx darf nicht leer sein oder die Feldlänge usw.
sql=select * from [dnt_users] where username='&Username' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen. Wenn Sie sie verwenden, fügen Sie sie unbedingt hinzu, da sie sonst eingefügt wird.
set rs=conn.execute(sql)
wenn rs.eof dann
Response.Write (<script>alert('Prompt!/n/nBenutzerkontofehler!');history.back();</script>)
Antwort.Ende
anders
if rs(password)<>md5(Password) then
Response.Write (<script>alert('Prompt!/n/nBenutzerpasswort ist falsch!');history.back();</script>)
Antwort.Ende
anders
if rs(secques)<>Antwort dann
Response.Write (<script>alert('Prompt!/n/nSichere Antwort ist falsch!');history.back();</script>)
Antwort.Ende
anders
Dim DES,DESCode
Setze DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&rs(passwort),Z143D2VBML) //Z143D2VBML ist Ihr DES-Verschlüsselungsschlüssel, um die Datei general.config im CONFIG-Verzeichnis zu öffnen und die Zeile <Passwordkey>Z846D4VVZL</Passwordkey> zu finden Schlüssel, ändern Sie den Schlüssel zu Ihrer Datei
Setzen Sie DES=Nichts
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)(unsichtbar) = rs(unsichtbar)
Response.Cookies(dnt)(referer) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(expires) = Läuft ab
wenn Expires<>0 dann
Response.Cookies(dnt).Expires = DateAdd(N, Expires, Now())
Ende wenn
Response.Cookies(dnt).Domain = .xxx.com //Ändern Sie Ihren Domainnamen, beachten Sie den (Punkt) davor
Response.Cookies(dnt).Secure = False
Ende wenn
Ende wenn
Ende wenn
rs.close
setze rs=nichts
//Hier hinzufügen, um nach der Anmeldung umzuleiten oder andere Vorgänge auszuführen. Die Entscheidung liegt bei Ihnen.
%>
=============================================== =======================================
Registrierungsseitencode (Anmeldestatus nach der Registrierung)
<!--#include file=md5.asp--> //32 ist die MD5-verschlüsselte Datei, die aufgerufen werden muss. Diese Datei ist überall verfügbar, daher werde ich sie nicht bereitstellen.
<%
Dimmen Sie Benutzername, Passwort, Passwort prüfen, E-Mail, Frage, Antwort, Verifizieren
Benutzername=replace(trim(Request.form(Benutzername)),','') //Benutzername
Password=replace(trim(Request.form(Password)),','') //Benutzerpasswort
CheckPassword=replace(trim(Request.form(CheckPassword)),','') //Passwortüberprüfung
Question=replace(trim(Request.form(Question)),','') //Passwortfrage
Answer=replace(trim(Request.form(Answer)),','') //Passwort-Antwort
Expires=replace(trim(Request.form(Expires)),','') //Cookie-Aufzeichnungsdauer
Verify=replace(trim(Request.form(Verify)),','') //Bestätigungscode
// Fügen Sie hier eine Übermittlungsüberprüfung hinzu, z. B. xxx darf nicht leer sein oder die Feldlänge usw.
sql=select * from [dnt_users] where username='&Username' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen. Wenn Sie sie verwenden, fügen Sie sie unbedingt hinzu, da sie sonst eingefügt wird.
set rs=conn.execute(sql)
wenn nicht rs.eof dann
Response.Write (<script>alert('Prompt!/n/n Benutzerkonto wurde registriert!');history.back();</script>)
Antwort.Ende
Ende wenn
rs.close
setze rs=nichts
sql=select * from [dnt_users] where Email='&Email' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen. Wenn Sie sie verwenden, fügen Sie sie unbedingt hinzu, da sie sonst eingefügt wird.
set rs=conn.execute(sql)
wenn nicht rs.eof dann
Response.Write (<script>alert('Prompt!/n/n E-Mail-Adresse wurde registriert!');history.back();</script>)
Antwort.Ende
Ende wenn
rs.close
setze rs=nichts
ip = request.servervariables(http_x_forwarded_for)
if ip = then ip = request.servervariables(remote_addr)
sql=in [dnt_users] einfügen (Benutzername, Spitzname, Passwort, Sekunden, Geschlecht, Adminid, Gruppen-ID, Gruppenablauf, Extgroupids, Regip, Joindate, Lastip, Lastvisit, Lastactivity, Lastpost, Lastpostid, Lastposttitle, Beiträge, Digestposts, Oltime, Seitenaufrufe, Credits, Extcredits1, extcredits2,extcredits3,extcredits4,extcredits5,extcredits6,extcredits7,extcredits8,avatarshowid,email,bday,sigstatus,tpp,ppp,templateid,pmsound,showemail,newsletter,invisible,newpm,newpmcount,accessmasks,onlinestate) Werte ('&Benutzername',' ','&MD5(Passwort)','&Antwort',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)
set rs=conn.execute(sql)
sql=select uid from [dnt_users] where username='&Username' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen. Wenn Sie sie verwenden, fügen Sie sie unbedingt hinzu, da sie sonst eingefügt wird.
set rs=conn.execute(sql)
Uid=rs(0)
sql=insert into [dnt_userfields] (uid,avatar,avatarwidth,avatarheight,authtime,authflag) Werte ('&Uid','avatars/common/0.gif',0,0,'&now()',0)
set rs=conn.execute(sql)
sql=update [dnt_statistics] set totalusers=totalusers+1,lastusername='&Username',lastuserid='&Uid'
set rs=conn.execute(sql)
sql=select * from [dnt_users] where username='&Username' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen. Wenn Sie sie verwenden, fügen Sie sie unbedingt hinzu, da sie sonst eingefügt wird.
set rs=conn.execute(sql)
wenn rs.eof dann
Response.Write (<script>alert('Prompt!/n/nBenutzerkontofehler!');history.back();</script>)
Antwort.Ende
anders
if rs(password)<>md5(Password) then
Response.Write (<script>alert('Prompt!/n/nBenutzerpasswort ist falsch!');history.back();</script>)
Antwort.Ende
anders
Dim DES,DESCode
Setze DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&rs(passwort),Z143D2VBML) //Z143D2VBML ist Ihr DES-Verschlüsselungsschlüssel, um die Datei general.config im CONFIG-Verzeichnis zu öffnen und die Zeile <Passwordkey>Z846D4VVZL</Passwordkey> zu finden Schlüssel, ändern Sie den Schlüssel zu Ihrer Datei
Setzen Sie DES=Nichts
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)(unsichtbar) = rs(unsichtbar)
Response.Cookies(dnt)(referer) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(expires) = 0
Response.Cookies(dnt).Domain = .xxx.com //Ändern Sie Ihren Domainnamen, beachten Sie den (Punkt) davor
Response.Cookies(dnt).Secure = False
Ende wenn
Ende wenn
rs.close
setze rs=nichts
//Fügen Sie hier eine Nachregistrierungsumleitung hinzu oder fügen Sie synchronisierte Benutzerdaten zu einer anderen Benutzertabelle hinzu. Sie können es selbst herausfinden.
%>
=============================================== =======================================
Seitencode bearbeiten (keine erneute Anmeldung erforderlich, nachdem das Passwort bearbeitet wurde)
<!--#include file=md5.asp--> //32 ist die MD5-verschlüsselte Datei, die aufgerufen werden muss. Diese Datei ist überall verfügbar, daher werde ich sie nicht bereitstellen.
<%
Dimmen Sie Benutzername, Passwort, Passwort prüfen, E-Mail, Frage, Antwort, Verifizieren
Benutzername=replace(trim(Request.form(Benutzername)),','') //Benutzername
Password=replace(trim(Request.form(Password)),','') //Benutzerpasswort
CheckPassword=replace(trim(Request.form(CheckPassword)),','') //Passwortüberprüfung
Question=replace(trim(Request.form(Question)),','') //Passwortfrage
Answer=replace(trim(Request.form(Answer)),','') //Passwort-Antwort
Expires=replace(trim(Request.form(Expires)),','') //Cookie-Aufzeichnungsdauer
Verify=replace(trim(Request.form(Verify)),','') //Bestätigungscode
// Fügen Sie hier eine Übermittlungsüberprüfung hinzu, z. B. xxx darf nicht leer sein oder die Feldlänge usw.
wenn Passwort<> dann
wenn Passwort<>CheckPassword dann
Response.Write (<script>alert('Prompt!/n/nDas Bestätigungskennwort unterscheidet sich vom Benutzerkennwort!');history.back();</script>)
Antwort.Ende
Ende wenn
Passwort=MD5(Passwort)
anders
Password=U_Password //U_Password ist Ihr 32-Bit-MD5-verschlüsseltes Passwort, das bei der Verifizierung ausgelesen und hier zur Verifizierung verwendet wird.
Ende wenn
wenn AnswerTrue=true dann
wenn Frage<>0 dann
Antwort=mid(MD5(Antwort+MD5(Frage)),16,8)
anders
Antwort=
Ende wenn
anders
Answer=U_Secques //U_Secques ist Ihre Passwort-Antwort, die bei der Verifizierung ausgelesen und hier zur Verifizierung verwendet wird.
Ende wenn
ip = request.servervariables(http_x_forwarded_for)
if ip = then ip = request.servervariables(remote_addr)
sql=select * from [dnt_users] where username='&Username' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen. Wenn Sie sie verwenden, fügen Sie sie unbedingt hinzu, da sie sonst eingefügt wird.
set rs=Conn.execute(Sql)
Wenn Rs.eof dann
Response.Write (<script>alert('Prompt!/n/nBenutzerkontofehler!');history.back();</script>)
Antwort.Ende
anders
sql=select * from [dnt_users] where email='&Email' and username<>'&Username' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen. Wenn Sie sie verwenden, müssen Sie sie hinzufügen, sonst wird sie eingefügt .
set rs=conn.execute(sql)
wenn nicht rs.eof dann
Response.write (<script>alert('Freundliche Erinnerung!/n/n Postfach wurde verwendet!');history.back();</script>)
Antwort.Ende
anders
sql=update [dnt_users] set password='&Password',secques='&Answer',email='&Email' where username='&Username' // Der Einfachheit halber werde ich die Filterfunktion hier nicht hinzufügen, wenn Sie sie verwenden klar plus, sonst gespritzt
set rs=conn.execute(sql)
Setze DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&Password,Z143D2VBML) //Z143D2VBML ist Ihr DES-Verschlüsselungsschlüssel. Bitte öffnen Sie mit Notepad die Datei general.config im Verzeichnis CONFIG und suchen Sie die Zeile <Passwordkey>Z846D4VVZL</Passwordkey> Englisch zwischen </Passwordkey> ist Ihr Schlüssel, ändern Sie den Schlüssel in den Ihrer Datei
Setzen Sie DES=Nichts
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)(unsichtbar) = rs(unsichtbar)
Response.Cookies(dnt)(referer) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(expires) = 0
Response.Cookies(dnt).Domain = .xxxx.com //Ändern Sie Ihren Domainnamen, achten Sie auf den führenden Teil (Punkt).
Response.Cookies(dnt).Secure = False
Ende wenn
Ende wenn
rs.close
setze rs=nichts
//Hier Bearbeiten hinzufügen und dann synchronisierte Benutzerdaten umleiten oder zu einer anderen Benutzertabelle hinzufügen. Sie können es selbst herausfinden.
%>
=============================================== ==========================================
Seitencode für Verifizierungscookies beenden
<%
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('Prompt! Benutzer/n/n hat sich abgemeldet und angemeldet!');self.opener.location.reload();window.close();</script>)
Antwort.Ende
%>
=============================================== ==========================================
Überprüfen Sie den Code der Cookie-Seite. Dies ist ein Teil des Bestätigungscodes, den ich der Einfachheit halber geschrieben habe. Sie können ihn entsprechend Ihrer ASP-Programmüberprüfungsdatei ändern.
%>
Dim DES,DESCode
Setze DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Decode(&request.cookies(dnt)(passwort),Z143D2VBML) //Z143D2VBML ist Ihr DES-Verschlüsselungsschlüssel, um die Datei general.config im CONFIG-Verzeichnis zu öffnen und die Zeile <Passwordkey>Z846D4VVZL</Passwordkey> zu finden Schlüssel, ändern Sie den Schlüssel zu Ihrer Datei
Setzen Sie DES=Nichts
// Im Folgenden wird die Datenbank gelesen, um zu überprüfen, ob Ihre Cookies korrekt sind
dimmen Sie 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' // Der Einfachheit halber werde ich Cookies, Benutzer und Passwörter nicht filtern Wenn Sie es verwenden, fügen Sie es unbedingt hinzu. Andernfalls wird es eingefügt. Filtern Sie einfach einige einfache und einige sensiblere Anführungszeichen heraus.
Setze Rs=Conn.execute(Sql)
wenn nicht rs.eof dann
Founduser = true
U_UId = Rs(0)
U_UserName = Rs(1)
U_Password = Rs(2)
U_Secques = Rs(3)
U_Email = Rs(4)
anders
Founduser = false
Ende wenn
rs.close
setze rs=nichts
%>