Форум Discuz!NT объединяет код реализации форума программы ASP. Скопируйте код кода следующим образом:
Запишите код страницы файлов cookie при входе в систему
<!--#include file=md5.asp--> //Необходимо вызвать 32-битный файл, зашифрованный md5. Этот файл доступен везде, поэтому я не буду его предоставлять.
<%
dim Имя пользователя, Пароль, Вопрос, Ответ, Срок действия истекает, Подтвердить
Имя пользователя=replace(trim(Request.form(Имя пользователя)),','') //Имя пользователя
Пароль=replace(trim(Request.form(Password)),','') //Пароль пользователя
Вопрос=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] где username='&Username' //Для удобства я не буду сюда добавлять функцию фильтра. Если вы ее используете, обязательно добавьте, иначе она будет внедрена.
установить rs=conn.execute(sql)
если rs.eof тогда
Response.Write (<script>alert('Подсказка!/n/nОшибка учетной записи пользователя!');history.back();</script>)
Ответ.конец
еще
если rs(пароль)<>md5(пароль), то
Response.Write (<script>alert('Подсказка!/n/nНеправильный пароль пользователя!');history.back();</script>)
Ответ.конец
еще
если rs(secques)<>Ответ тогда
Response.Write (<script>alert('Подсказка!/n/nSafe ответ неправильный!');history.back();</script>)
Ответ.конец
еще
Тусклый DES,DESCode
Установить DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&rs(пароль),Z143D2VBML) //Z143D2VBML — это ваш ключ шифрования DES. Откройте в Блокноте файл General.config в каталоге CONFIG и найдите строку <Passwordkey>Z846D4VVZL</Passwordkey>. Английский между <Passwordkey> и </Passwordkey> — это вы. ключ, измените ключ на свой файл
Установить DES=Ничего
Response.Cookies(dnt)(идентификатор пользователя) = 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)(referer) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(истекает) = Срок действия истекает
если истекает<>0, то
Response.Cookies(dnt).Expires = DateAdd(N, Expires, Now())
конец, если
Response.Cookies(dnt).Domain = .xxx.com //Измените имя своего домена, обратите внимание на точку (точку) перед ним.
Response.Cookies(dnt).Secure = False
конец, если
конец, если
конец, если
RS.закрыть
установить rs=ничего
//Добавьте сюда для перенаправления или выполнения других операций после входа в систему. Решать вам.
%>
=============================================== =======================================
Код страницы регистрации (статус входа после регистрации)
<!--#include file=md5.asp--> //32 — это зашифрованный файл md5, который необходимо вызывать. Этот файл доступен везде, поэтому я не буду его предоставлять.
<%
dim Имя пользователя, Пароль, Проверить пароль, Электронная почта, Вопрос, Ответ, Подтвердить
Имя пользователя=replace(trim(Request.form(Имя пользователя)),','') //Имя пользователя
Пароль=replace(trim(Request.form(Password)),','') //Пароль пользователя
CheckPassword=replace(trim(Request.form(CheckPassword)),','') //Проверка пароля
Вопрос=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] где username='&Username' //Для удобства я не буду сюда добавлять функцию фильтра. Если вы ее используете, обязательно добавьте, иначе она будет внедрена.
установить rs=conn.execute(sql)
если не rs.eof, то
Response.Write (<script>alert('Подсказка!/n/n учетная запись пользователя зарегистрирована!');history.back();</script>)
Ответ.конец
конец, если
RS.закрыть
установить rs=ничего
sql=select * from [dnt_users] где Email='&Email' //Для удобства я не буду сюда добавлять функцию фильтра. Если вы ее используете, обязательно добавьте, иначе она будет внедрена.
установить rs=conn.execute(sql)
если не rs.eof, то
Response.Write (<script>alert('Подсказка!/n/n адрес электронной почты был зарегистрирован!');history.back();</script>)
Ответ.конец
конец, если
RS.закрыть
установить rs=ничего
ip = request.servervariables(http_x_forwarded_for)
если ip = тогда ip = request.servervariables(remote_addr)
sql=вставить в [dnt_users] (имя пользователя, ник, пароль, секунды, пол, администратор, идентификатор группы, срок действия группы, extgroupids, regip, joindate,lastip,lastvisit,lastactivity,lastpost,lastpostid,lastposttitle,posts,digestposts,oltime,просмотры страниц,кредиты,extcredits1, extcredits2,extcredits3,extcredits4,extcredits5,extcredits6,extcredits7,extcredits8,avatarshowid,email,bday,sigstatus,tpp,ppp,templateid,pmsound,showemail,информационный бюллетень,invisible,newpm,newpmcount,accessmasks,onlinestate) значения ('&Имя пользователя',' ','&MD5(Пароль)','&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)
установить rs=conn.execute(sql)
sql=select uid from [dnt_users] где username='&Username' //Для удобства я не буду сюда добавлять функцию фильтра. Если вы ее используете, обязательно добавьте, иначе она будет внедрена.
установить rs=conn.execute(sql)
Uid=rs(0)
sql=insert in [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='&Username',lastuserid='&Uid'
установить rs=conn.execute(sql)
sql=select * from [dnt_users] где username='&Username' //Для удобства я не буду сюда добавлять функцию фильтра. Если вы ее используете, обязательно добавьте, иначе она будет внедрена.
установить rs=conn.execute(sql)
если rs.eof тогда
Response.Write (<script>alert('Подсказка!/n/nОшибка учетной записи пользователя!');history.back();</script>)
Ответ.конец
еще
если rs(пароль)<>md5(пароль), то
Response.Write (<script>alert('Подсказка!/n/nНеправильный пароль пользователя!');history.back();</script>)
Ответ.конец
еще
Тусклый DES,DESCode
Установить DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&rs(пароль),Z143D2VBML) //Z143D2VBML — это ваш ключ шифрования DES. Откройте в Блокноте файл General.config в каталоге CONFIG и найдите строку <Passwordkey>Z846D4VVZL</Passwordkey>. Английский между <Passwordkey> и </Passwordkey> — это вы. ключ, измените ключ на свой файл
Установить DES=Ничего
Response.Cookies(dnt)(идентификатор пользователя) = 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)(referer) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(истекает) = 0
Response.Cookies(dnt).Domain = .xxx.com //Измените имя своего домена, обратите внимание на точку (точку) перед ним.
Response.Cookies(dnt).Secure = False
конец, если
конец, если
RS.закрыть
установить rs=ничего
//Добавьте сюда перенаправление после регистрации или добавьте синхронизированные данные пользователя в другую таблицу пользователей. Вы можете разобраться сами.
%>
=============================================== =======================================
Редактировать код страницы (не нужно повторно входить в систему после редактирования пароля)
<!--#include file=md5.asp--> //32 — это зашифрованный файл md5, который необходимо вызывать. Этот файл доступен везде, поэтому я не буду его предоставлять.
<%
dim Имя пользователя, Пароль, Проверить пароль, Электронная почта, Вопрос, Ответ, Подтвердить
Имя пользователя=replace(trim(Request.form(Имя пользователя)),','') //Имя пользователя
Пароль=replace(trim(Request.form(Password)),','') //Пароль пользователя
CheckPassword=replace(trim(Request.form(CheckPassword)),','') //Проверка пароля
Вопрос=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 не может быть пустым или длина поля и т. д.
если Пароль<> тогда
если Пароль<>ПроверитьПароль, то
Response.Write (<script>alert('Подсказка!/n/nПроверочный пароль отличается от пароля пользователя!');history.back();</script>)
Ответ.конец
конец, если
Пароль=MD5(Пароль)
еще
Пароль=U_Password //U_Password — это ваш 32-битный зашифрованный пароль MD5, который считывается во время проверки и используется для проверки здесь.
конец, если
если AnswerTrue=истина, то
если Вопрос<>0, то
Ответ=средний(MD5(Ответ+MD5(Вопрос)),16,8)
еще
Ответ=
конец, если
еще
Answer=U_Secques //U_Secques — это ваш ответ на пароль, который считывается при проверке и используется для проверки здесь.
конец, если
ip = request.servervariables(http_x_forwarded_for)
если ip = then ip = request.servervariables(remote_addr)
sql=select * from [dnt_users] где username='&Username' //Для удобства я не буду сюда добавлять функцию фильтра. Если вы ее используете, обязательно добавьте, иначе она будет внедрена.
установите rs=Conn.execute(Sql)
Если Rs.eof тогда
Response.Write (<script>alert('Подсказка!/n/nОшибка учетной записи пользователя!');history.back();</script>)
Ответ.конец
еще
sql=select * from [dnt_users] где email='&Email' и 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' где username='&Username' //Для удобства я не буду добавлять сюда функцию фильтра, если вы ее используете, то конечно плюс, иначе впрыскивают
установить rs=conn.execute(sql)
Установить DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Encode(&Password,Z143D2VBML) //Z143D2VBML — ваш ключ шифрования DES. С помощью Блокнота откройте файл General.config в каталоге CONFIG и найдите строку <Passwordkey>Z846D4VVZL</Passwordkey>, <Passwordkey>. Английский между </Passwordkey> — ваш ключ, измените ключ на ключ вашего файла
Установить DES=Ничего
Response.Cookies(dnt)(идентификатор пользователя) = 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)(referer) = index.aspx
Response.Cookies(dnt)(sigstatus) = rs(sigstatus)
Response.Cookies(dnt)(истекает) = 0
Response.Cookies(dnt).Domain = .xxxx.com //Измените имя домена, обратите внимание на начальную часть (точку).
Response.Cookies(dnt).Secure = False
конец, если
конец, если
RS.закрыть
установить rs=ничего
//Добавьте сюда редактирование, а затем перенаправьте или добавьте синхронизированные пользовательские данные в другую пользовательскую таблицу. Вы можете разобраться сами.
%>
=============================================== =========================================
Выйти из кода страницы проверки файлов cookie
<%
Response.Cookies(dnt)(идентификатор пользователя) =
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).Домен = .xxx.com
Response.Cookies(dnt).Secure = False
Response.Write (<script>alert('Подсказка! Пользователь/n/n вышел из системы и вошел в систему!');self.opener.location.reload();window.close();</script>)
Ответ.конец
%>
=============================================== ==========================================
Проверьте код страницы cookie. Это фрагмент кода проверки, который я написал для простоты. По сути, они одинаковы. Вы можете изменить его в соответствии с файлом проверки программы asp.
%>
Тусклый DES,DESCode
Установить DES=Server.CreateObject(DiscuzNT.DES)
DESCode=DES.Decode(&request.cookies(dnt)(пароль),Z143D2VBML) //Z143D2VBML — это ваш ключ шифрования DES. Откройте в Блокноте файл General.config в каталоге CONFIG и найдите строку <Passwordkey>Z846D4VVZL</Passwordkey>. Английский между <Passwordkey> и </Passwordkey> — это вы. ключ, измените ключ на свой файл
Установить DES=Ничего
//Далее необходимо прочитать базу данных, чтобы проверить правильность ваших файлов cookie.
тусклый U_UId, U_UserName, U_Password, U_Seques, U_Email
Sql=select uid,username,password,secques,email from [dnt_users] где uid='&request.cookies(dnt)(userid)' и пароль='&DESCode' //Для удобства я не буду фильтровать пользователей и пароли файлов cookie. Функция , если вы его используете, обязательно добавьте, иначе он будет внедрен, просто отфильтруйте некоторые одинарные кавычки и некоторые более чувствительные.
Установите Rs=Conn.execute(Sql)
если не rs.eof, то
найденный пользователь = правда
U_UId = рупий (0)
U_UserName = рупий(1)
U_Пароль = рупий(2)
U_Seques = рупий(3)
U_Email = рупий(4)
еще
найденный пользователь = ложь
конец, если
RS.закрыть
установить rs=ничего
%>