Discuz!NT 포럼은 ASP 프로그램 포럼 구현 코드를 통합합니다. 다음과 같이 코드 코드를 복사합니다.
로그인 시 쿠키 페이지 코드 기록
<!--#include file=md5.asp--> //32비트 md5 암호화 파일을 호출해야 합니다. 이 파일은 어디에서나 사용 가능하므로 제공하지 않습니다.
<%
희미한 사용자 이름, 비밀번호, 질문, 답변, 만료, 확인
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)),','') //쿠키 기록 기간
verify=replace(trim(Request.form(Verify)),','') //인증 코드
//xxx는 비워둘 수 없거나 필드 길이 등의 제출 확인을 여기에 추가합니다.
sql=select * from [dnt_users] where username='&Username' //여기서는 편의상 필터 기능을 추가하지 않겠습니다. 사용하실 경우 반드시 추가해 주시고, 그렇지 않으면 주입됩니다.
rs=conn.execute(sql) 설정
만약 rs.eof라면
Response.Write (<script>alert('Prompt!/n/n사용자 계정 오류!');history.back();</script>)
응답.끝
또 다른
if rs(비밀번호)<>md5(비밀번호) then
Response.Write (<script>alert('Prompt!/n/n사용자 비밀번호가 올바르지 않습니다!');history.back();</script>)
응답.끝
또 다른
if rs(secques)<>응답
Response.Write (<script>alert('Prompt!/n/nSafe 답변이 잘못되었습니다!');history.back();</script>)
응답.끝
또 다른
희미한 DES,DESCode
DES=Server.CreateObject(DiscuzNT.DES)로 설정합니다.
DESCode=DES.Encode(&rs(비밀번호),Z143D2VBML) //Z143D2VBML은 DES 암호화 키입니다. 메모장을 사용하여 CONFIG 디렉터리에서 General.config 파일을 열고 <Passwordkey>Z846D4VVZL</Passwordkey> 줄을 찾으세요. 키, 키를 파일로 변경하세요
DES=아무것도 설정하지 않음
Response.Cookies(dnt)(userid) = rs(uid)
Response.Cookies(dnt)(비밀번호) = DESCode
응답.쿠키(dnt)(tpp) = rs(tpp)
응답.쿠키(dnt)(ppp) = rs(ppp)
응답.쿠키(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(invisible) = rs(invisible)
Response.Cookies(dnt)(참조자) = index.aspx
응답.쿠키(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(expires) = 만료
Expires<>0이면
Response.Cookies(dnt).Expires = DateAdd(N, Expires, Now())
종료하면
Response.Cookies(dnt).Domain = .xxx.com //도메인 이름으로 변경하세요. 앞에 .(점)이 표시되어 있습니다.
Response.Cookies(dnt).Secure = 거짓
종료하면
종료하면
종료하면
RS.닫기
rs=아무것도 설정하지 않음
//로그인 후 리디렉션하거나 다른 작업을 수행하려면 여기에 추가하세요. 결정은 귀하에게 달려 있습니다.
%>
================================================= ==========================================
등록 페이지 코드(등록 후 로그인 상태)
<!--#include file=md5.asp--> //32는 md5로 암호화된 파일이므로 반드시 호출해야 합니다. 이 파일은 어디에서나 사용 가능하므로 제공하지 않겠습니다.
<%
희미한 사용자 이름, 비밀번호, 비밀번호 확인, 이메일, 질문, 답변, 확인
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)),','') //쿠키 기록 기간
verify=replace(trim(Request.form(Verify)),','') //인증 코드
//xxx는 비워둘 수 없거나 필드 길이 등의 제출 확인을 여기에 추가합니다.
sql=select * from [dnt_users] where username='&Username' //여기서는 편의상 필터 기능을 추가하지 않겠습니다. 사용하실 경우 반드시 추가해 주시고, 그렇지 않으면 주입됩니다.
rs=conn.execute(sql) 설정
rs.eof가 아니라면
Response.Write (<script>alert('Prompt!/n/n 사용자 계정이 등록되었습니다!');history.back();</script>)
응답.끝
종료하면
RS.닫기
rs=아무것도 설정하지 않음
sql=select * from [dnt_users] where Email='&Email' //여기서는 편의상 필터 기능을 추가하지 않겠습니다. 사용하실 경우 꼭 추가해 주시고, 그렇지 않으면 삽입됩니다.
rs=conn.execute(sql) 설정
rs.eof가 아니라면
Response.Write (<script>alert('Prompt!/n/n 이메일 주소가 등록되었습니다!');history.back();</script>)
응답.끝
종료하면
RS.닫기
rs=아무것도 설정하지 않음
ip = request.servervariables(http_x_forwarded_for)
ip =이면 ip = request.servervariables(remote_addr)
sql=[dnt_users]에 삽입 (사용자 이름,닉네임,비밀번호,secques,성별,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) 값 ('&사용자 이름',' ','&MD5(비밀번호)','&답변',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,'&이메일', '',1,0,0,0,1,1,1,0,1,1,0,1)
rs=conn.execute(sql) 설정
sql=select uid from [dnt_users] where username='&Username' //여기서는 편의상 필터 기능을 추가하지 않겠습니다. 사용하실 경우 꼭 추가해 주시고, 그렇지 않으면 주입됩니다.
rs=conn.execute(sql) 설정
UID=rs(0)
sql=[dnt_userfields](uid,avatar,avatarwidth,avatarheight,authtime,authflag) 값에 삽입 ('&Uid','avatars/common/0.gif',0,0,'&now()',0)
rs=conn.execute(sql) 설정
sql=update [dnt_statistics] set totalusers=totalusers+1,lastusername='&사용자 이름',lastuserid='&Uid'
rs=conn.execute(sql) 설정
sql=select * from [dnt_users] where username='&Username' //여기서는 편의상 필터 기능을 추가하지 않겠습니다. 사용하실 경우 반드시 추가해 주시고, 그렇지 않으면 주입됩니다.
rs=conn.execute(sql) 설정
만약 rs.eof라면
Response.Write (<script>alert('Prompt!/n/n사용자 계정 오류!');history.back();</script>)
응답.끝
또 다른
if rs(비밀번호)<>md5(비밀번호) then
Response.Write (<script>alert('Prompt!/n/n사용자 비밀번호가 올바르지 않습니다!');history.back();</script>)
응답.끝
또 다른
희미한 DES,DESCode
DES=Server.CreateObject(DiscuzNT.DES)로 설정합니다.
DESCode=DES.Encode(&rs(비밀번호),Z143D2VBML) //Z143D2VBML은 DES 암호화 키입니다. 메모장을 사용하여 CONFIG 디렉터리에서 General.config 파일을 열고 <Passwordkey>Z846D4VVZL</Passwordkey> 줄을 찾으세요. 키, 키를 파일로 변경하세요
DES=아무것도 설정하지 않음
Response.Cookies(dnt)(userid) = rs(uid)
Response.Cookies(dnt)(비밀번호) = DESCode
응답.쿠키(dnt)(tpp) = rs(tpp)
응답.쿠키(dnt)(ppp) = rs(ppp)
응답.쿠키(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(invisible) = rs(invisible)
Response.Cookies(dnt)(참조자) = index.aspx
응답.쿠키(dnt)(sigstatus) = rs(sigstatus)
응답.쿠키(dnt)(만료) = 0
Response.Cookies(dnt).Domain = .xxx.com //도메인 이름으로 변경하세요. 앞에 .(점)이 표시되어 있습니다.
Response.Cookies(dnt).Secure = 거짓
종료하면
종료하면
RS.닫기
rs=아무것도 설정하지 않음
//여기에 등록 후 리디렉션을 추가하거나 다른 사용자 테이블에 동기화된 사용자 데이터를 추가할 수 있습니다.
%>
================================================= ==========================================
페이지 코드 수정(비밀번호 수정 후 다시 로그인할 필요 없음)
<!--#include file=md5.asp--> //32는 md5로 암호화된 파일이므로 반드시 호출해야 합니다. 이 파일은 어디에서나 사용 가능하므로 제공하지 않겠습니다.
<%
희미한 사용자 이름, 비밀번호, 비밀번호 확인, 이메일, 질문, 답변, 확인
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)),','') //쿠키 기록 기간
verify=replace(trim(Request.form(Verify)),','') //인증 코드
//xxx는 비워 둘 수 없거나 필드 길이 등의 제출 확인을 여기에 추가합니다.
비밀번호<>인 경우
if Password<>CheckPassword 그러면
Response.Write (<script>alert('Prompt!/n/n확인 비밀번호가 사용자 비밀번호와 다릅니다!');history.back();</script>)
응답.끝
종료하면
비밀번호=MD5(비밀번호)
또 다른
Password=U_Password //U_Password는 32비트 MD5로 암호화된 비밀번호로, 확인 중에 판독되어 여기에서 확인에 사용됩니다.
종료하면
AnswerTrue=true이면
질문<>0이면
답변=mid(MD5(답변+MD5(질문)),16,8)
또 다른
답=
종료하면
또 다른
Answer=U_Secques //U_Secques는 귀하의 비밀번호 답변으로, 확인 중에 읽고 여기에서 확인에 사용됩니다.
종료하면
ip = request.servervariables(http_x_forwarded_for)
ip =이면 ip = request.servervariables(remote_addr)
sql=select * from [dnt_users] where username='&Username' //여기서는 편의상 필터 기능을 추가하지 않겠습니다. 사용하실 경우 반드시 추가해 주시고, 그렇지 않으면 주입됩니다.
rs=Conn.execute(Sql) 설정
Rs.eof이면
Response.Write (<script>alert('Prompt!/n/n사용자 계정 오류!');history.back();</script>)
응답.끝
또 다른
sql=select * from [dnt_users] where email='&Email' and username<>'&Username' //여기서는 편의상 필터 기능을 추가하지 않겠습니다. 사용할 경우 반드시 추가해야 하며, 그렇지 않으면 주입됩니다. .
rs=conn.execute(sql) 설정
rs.eof가 아니라면
response.write (<script>alert('알림!/n/n 사서함이 사용되었습니다!');history.back();</script>)
응답.끝
또 다른
sql=update [dnt_users] set 비밀번호='&Password',secques='&Answer',email='&Email' where username='&Username' //편의상 여기에 필터 기능을 추가하지 않겠습니다. 물론 플러스, 그렇지 않으면 주입
rs=conn.execute(sql) 설정
DES=Server.CreateObject(DiscuzNT.DES)로 설정합니다.
DESCode=DES.Encode(&Password,Z143D2VBML) //Z143D2VBML은 DES 암호화 키입니다. 메모장을 사용하여 CONFIG 디렉터리에서 General.config 파일을 열고 <Passwordkey>Z846D4VVZL</Passwordkey>, <Passwordkey> 줄을 찾으세요. </Passwordkey> 사이의 영문이 키입니다. 키를 파일 중 하나로 변경하세요.
DES=아무것도 설정하지 않음
Response.Cookies(dnt)(userid) = rs(uid)
Response.Cookies(dnt)(비밀번호) = DESCode
응답.쿠키(dnt)(tpp) = rs(tpp)
응답.쿠키(dnt)(ppp) = rs(ppp)
응답.쿠키(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(invisible) = rs(invisible)
Response.Cookies(dnt)(참조자) = index.aspx
응답.쿠키(dnt)(sigstatus) = rs(sigstatus)
응답.쿠키(dnt)(만료) = 0
Response.Cookies(dnt).Domain = .xxxx.com //도메인 이름으로 변경하세요. 앞부분(점)에 주의하세요.
Response.Cookies(dnt).Secure = 거짓
종료하면
종료하면
RS.닫기
rs=아무것도 설정하지 않음
//여기에 편집을 추가한 다음 동기화된 사용자 데이터를 다른 사용자 테이블에 리디렉션하거나 추가할 수 있습니다.
%>
================================================= ===========================================
확인 쿠키 페이지 코드 종료
<%
Response.Cookies(dnt)(사용자 ID) =
응답.쿠키(dnt)(비밀번호) =
응답.쿠키(dnt)(tpp) =
응답.쿠키(dnt)(ppp) =
응답.쿠키(dnt)(pmsound) =
응답.쿠키(dnt)(보이지 않음) =
Response.Cookies(dnt)(참조자) =
응답.쿠키(dnt)(sigstatus) =
응답.쿠키(dnt)(만료) =
응답.쿠키(dnt).Expires =
Response.Cookies(dnt).Domain = .xxx.com
Response.Cookies(dnt).Secure = 거짓
Response.Write (<script>alert('사용자/n/n이 로그아웃했다가 로그인했습니다!');self.opener.location.reload();window.close();</script>)
응답.끝
%>
================================================= ============================================
쿠키 페이지 코드를 확인하세요. 이는 단순화를 위해 작성한 확인 코드입니다. 기본적으로는 ASP 프로그램 확인 파일에 따라 수정할 수 있습니다.
%>
희미한 DES,DESCode
DES=Server.CreateObject(DiscuzNT.DES)로 설정합니다.
DESCode=DES.Decode(&request.cookies(dnt)(비밀번호),Z143D2VBML) //Z143D2VBML은 DES 암호화 키입니다. 메모장을 사용하여 CONFIG 디렉터리에서 General.config 파일을 열고 <Passwordkey>Z846D4VVZL</Passwordkey> 줄을 찾으세요. 키, 키를 파일로 변경하세요
DES=아무것도 설정하지 않음
//다음은 쿠키가 올바른지 확인하기 위해 데이터베이스를 읽는 것입니다.
희미한 U_UId,U_UserName,U_Password,U_Secques,U_Email
Sql=select uid,username,password,secques,email from [dnt_users] 여기서 uid='&request.cookies(dnt)(userid)' 및 비밀번호='&DESCode' //편의상 쿠키 사용자 및 비밀번호는 필터링하지 않습니다. , 사용하는 경우 반드시 추가하세요. 그렇지 않으면 삽입됩니다. 작은 따옴표와 좀 더 민감한 따옴표를 필터링하면 됩니다.
Rs=Conn.execute(Sql) 설정
rs.eof가 아니라면
발견자 = 사실
U_UId = 루피(0)
U_UserName = 루피(1)
U_Password = 루피(2)
U_Secques = 루피(3)
U_Email = 루피(4)
또 다른
발견사용자 = 거짓
종료하면
RS.닫기
rs=아무것도 설정하지 않음
%>