Discuz!NT フォーラムは、ASP プログラム フォーラムの実装コードを統合します。次のようにコードをコピーします。
ログイン時にCookieページのコードを記録する
<!--#include file=md5.asp--> //32 ビットの md5 暗号化ファイルを呼び出す必要があります。このファイルはどこでも入手できるため、提供しません。
<%
dim ユーザー名、パスワード、質問、回答、有効期限、確認
ユーザー名=replace(trim(Request.form(ユーザー名)),','') //ユーザー名
Password=replace(trim(Request.form(Password)),','') //ユーザーパスワード
Question=replace(trim(Request.form(Question)),','') //パスワードの質問
Answer=replace(trim(Request.form(Answer)),','') //パスワードの答え
Expires=replace(trim(Request.form(Expires)),','') //Cookie の記録期間
Verify=replace(trim(Request.form(Verify)),','') //検証コード
//ここに送信検証を追加します(xxx を空にすることはできない、フィールドの長さなど)。
sql=select * from [dnt_users] where username='&Username' //便宜上、ここではフィルター関数を追加しません。使用する場合は必ず追加してください。追加しない場合は挿入されます。
set rs=conn.execute(sql)
もし rs.eof なら
Response.Write (<script>alert('プロンプト!/n/nユーザー アカウント エラー!');history.back();</script>)
応答.終了
それ以外
if rs(パスワード)<>md5(パスワード) then
Response.Write (<script>alert('プロンプト!/n/nユーザーのパスワードが間違っています!');history.back();</script>)
応答.終了
それ以外
if rs(secques)<>答え then
Response.Write (<script>alert('プロンプト!/n/n安全な答えは間違っています!');history.back();</script>)
応答.終了
それ以外
ディムDES、DESコード
DES=Server.CreateObject(DiscuzNT.DES) を設定します。
DESCode=DES.Encode(&rs(パスワード),Z143D2VBML) //Z143D2VBML は DES 暗号化キーです。メモ帳を使用して CONFIG ディレクトリの general.config ファイルを開き、<Passwordkey>Z846D4VVZL</Passwordkey> という行を見つけてください。<Passwordkey> と </Passwordkey> の間の英語は、キー、ファイルのキーを変更します
DES=何も設定しない
Response.Cookies(dnt)(ユーザーID) = rs(uid)
Response.Cookies(dnt)(パスワード) = DESCode
Response.Cookies(dnt)(tpp) = rs(tpp)
Response.Cookies(dnt)(ppp) = rs(ppp)
Response.Cookies(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(不可視) = rs(不可視)
Response.Cookies(dnt)(リファラー) =index.aspx
Response.Cookies(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 = False
終了する場合
終了する場合
終了する場合
rs.close
rs=何も設定しない
//ログイン後にリダイレクトまたは他の操作を実行するには、ここに追加します。決定はあなた次第です。
%>
================================================= =========================================
登録ページコード(登録後のログイン状態)
<!--#include file=md5.asp--> //32 は md5 暗号化ファイルであり、このファイルはどこでも利用できるため、提供しません。
<%
dim ユーザー名、パスワード、パスワードの確認、メール、質問、回答、確認
ユーザー名=replace(trim(Request.form(ユーザー名)),','') //ユーザー名
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)),','') //Cookie の記録期間
Verify=replace(trim(Request.form(Verify)),','') //検証コード
//ここに送信検証を追加します(xxx を空にすることはできない、フィールドの長さなど)。
sql=select * from [dnt_users] where username='&Username' //便宜上、ここではフィルター関数を追加しません。使用する場合は必ず追加してください。追加しない場合は挿入されます。
set rs=conn.execute(sql)
そうでない場合は、
Response.Write (<script>alert('プロンプト!/n/n ユーザー アカウントが登録されました!');history.back();</script>)
応答.終了
終了する場合
rs.close
rs=何も設定しない
sql=select * from [dnt_users] where Email='&Email' //便宜上、ここではフィルター関数を追加しません。使用する場合は必ず追加してください。追加しない場合は挿入されます。
set rs=conn.execute(sql)
そうでない場合は、
Response.Write (<script>alert('プロンプト!/n/n メール アドレスが登録されました!');history.back();</script>)
応答.終了
終了する場合
rs.close
rs=何も設定しない
ip = request.servervariables(http_x_forwarded_for)
if ip = then ip = request.servervariables(remote_addr)
sql=[dnt_users] に挿入(ユーザー名,ニックネーム,パスワード,秒,性別,管理者,グループID,グループ有効期限,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,'メール(&E)', ' ',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' //便宜上、ここではフィルター関数を追加しません。使用する場合は必ず追加してください。追加しない場合は挿入されます。
set rs=conn.execute(sql)
Uid=rs(0)
sql=insert into [dnt_userfields] (uid,avatar,avatarwidth,avatarheight,authtime,authflag) 値 ('&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' //便宜上、ここではフィルター関数を追加しません。使用する場合は必ず追加してください。追加しない場合は挿入されます。
set rs=conn.execute(sql)
もし rs.eof なら
Response.Write (<script>alert('プロンプト!/n/nユーザー アカウント エラー!');history.back();</script>)
応答.終了
それ以外
if rs(パスワード)<>md5(パスワード) then
Response.Write (<script>alert('プロンプト!/n/nユーザーのパスワードが間違っています!');history.back();</script>)
応答.終了
それ以外
ディムDES、DESコード
DES=Server.CreateObject(DiscuzNT.DES) を設定します。
DESCode=DES.Encode(&rs(パスワード),Z143D2VBML) //Z143D2VBML は DES 暗号化キーです。メモ帳を使用して CONFIG ディレクトリの general.config ファイルを開き、<Passwordkey>Z846D4VVZL</Passwordkey> という行を見つけてください。<Passwordkey> と </Passwordkey> の間の英語は、キー、ファイルのキーを変更します
DES=何も設定しない
Response.Cookies(dnt)(ユーザーID) = rs(uid)
Response.Cookies(dnt)(パスワード) = DESCode
Response.Cookies(dnt)(tpp) = rs(tpp)
Response.Cookies(dnt)(ppp) = rs(ppp)
Response.Cookies(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(不可視) = rs(不可視)
Response.Cookies(dnt)(リファラー) =index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(期限切れ) = 0
Response.Cookies(dnt).Domain = .xxx.com //ドメイン名の前にある . (ドット) に注意してください。
Response.Cookies(dnt).Secure = False
終了する場合
終了する場合
rs.close
rs=何も設定しない
//ここに登録後のリダイレクトを追加するか、同期されたユーザー データを別のユーザー テーブルに追加します。
%>
================================================= =========================================
ページコードの編集(パスワード編集後に再度ログインする必要はありません)
<!--#include file=md5.asp--> //32 は md5 暗号化ファイルであり、このファイルはどこでも利用できるため、提供しません。
<%
dim ユーザー名、パスワード、パスワードの確認、メール、質問、回答、確認
ユーザー名=replace(trim(Request.form(ユーザー名)),','') //ユーザー名
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)),','') //Cookie の記録期間
Verify=replace(trim(Request.form(Verify)),','') //検証コード
//ここに送信検証を追加します(xxx を空にすることはできない、フィールドの長さなど)。
if パスワード<> then
パスワード<>チェックパスワードの場合、
Response.Write (<script>alert('プロンプト!/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)
if ip = then ip = request.servervariables(remote_addr)
sql=select * from [dnt_users] where username='&Username' //便宜上、ここではフィルター関数を追加しません。使用する場合は必ず追加してください。追加しない場合は挿入されます。
set rs=Conn.execute(SQL)
Rs.eofの場合
Response.Write (<script>alert('プロンプト!/n/nユーザー アカウント エラー!');history.back();</script>)
応答.終了
それ以外
sql=select * from [dnt_users] where email='&Email' and username<>'&Username' //便宜上、ここではフィルター関数を追加しません。使用する場合は追加する必要があります。追加しないと挿入されます。 。
set rs=conn.execute(sql)
そうでない場合は、
response.write (<script>alert('フレンドリマインダー!/n/n メールボックスが使用されました!');history.back();</script>)
応答.終了
それ以外
sql=update [dnt_users] set password='&Password',secques='&Answer',email='&Email' where username='&Username' //便宜上、ここではフィルター関数を追加しません。使用する場合は、確かにプラス、それ以外の場合は注入
set 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)(ユーザーID) = rs(uid)
Response.Cookies(dnt)(パスワード) = DESCode
Response.Cookies(dnt)(tpp) = rs(tpp)
Response.Cookies(dnt)(ppp) = rs(ppp)
Response.Cookies(dnt)(pmsound) = rs(pmsound)
Response.Cookies(dnt)(不可視) = rs(不可視)
Response.Cookies(dnt)(リファラー) =index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(期限切れ) = 0
Response.Cookies(dnt).Domain = .xxxx.com //ドメイン名に変更します。先頭の部分 (ドット) に注意してください。
Response.Cookies(dnt).Secure = False
終了する場合
終了する場合
rs.close
rs=何も設定しない
// ここに編集を追加してから、同期されたユーザー データを別のユーザー テーブルにリダイレクトするか追加します。これは自分で判断できます。
%>
================================================= ==========================================
検証Cookieページのコードを終了する
<%
Response.Cookies(dnt)(ユーザーID) =
Response.Cookies(dnt)(パスワード) =
Response.Cookies(dnt)(tpp) =
Response.Cookies(dnt)(ppp) =
Response.Cookies(dnt)(pmsound) =
Response.Cookies(dnt)(不可視) =
Response.Cookies(dnt)(リファラー) =
Response.Cookies(dnt)(sigstatus) =
Response.Cookies(dnt)(期限切れ) =
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>)
応答.終了
%>
================================================= ===========================================
Cookie ページのコードを確認します。これは簡単にするために作成した確認コードです。ASP プログラムの確認ファイルに従って変更できます。
%>
ディムDES、DESコード
DES=Server.CreateObject(DiscuzNT.DES) を設定します。
DESCode=DES.Decode(&request.cookies(dnt)(パスワード),Z143D2VBML) //Z143D2VBML は DES 暗号化キーです。メモ帳を使用して CONFIG ディレクトリの general.config ファイルを開き、<Passwordkey>Z846D4VVZL</Passwordkey> という行を見つけてください。<Passwordkey> と </Passwordkey> の間の英語は、キー、ファイルのキーを変更します
DES=何も設定しない
// 以下はデータベースを読み取り、Cookie が正しいかどうかを確認します。
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 passwd='&DESCode' //便宜上、Cookie ユーザーとパスワードはフィルターしません 関数使用する場合は必ず追加してください。追加しない場合は挿入されます。一部の一重引用符とより機密性の高い引用符をフィルターで除外するだけです。
Rs=Conn.execute(Sql) を設定します。
そうでない場合は、
見つかったユーザー = true
U_UId = Rs(0)
U_ユーザー名 = Rs(1)
U_パスワード = Rs(2)
U_Secques = Rs(3)
U_メール = Rs(4)
それ以外
見つかったユーザー = false
終了する場合
rs.close
rs=何も設定しない
%>