<%
' 判断提交是否來自外部
Открытая функция ChkPost()
Тусклый сервер_v1, сервер_v2
Chkpost = Ложь
server_v1 = Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2 = Cstr(Request.ServerVariables("ИМЯ_СЕРВЕРА"))
Если Mid(server_v1,8,len(server_v2))=server_v2 Тогда Chkpost=True
Конечная функция
'系统分配随机密码
Открытая функция Createpass()
Дим Ран,i,LengthNum
ДлинаNum=16
Создатьпас=""
Для i = 1 до lengthNum
Рандомизировать
Ран = CInt(Rnd * 2)
Рандомизировать
Если Ран = 0 Тогда
Ран = CInt(Rnd * 25) + 97
Createpass = Createpass& UCase(Chr(Ran))
ИначеЕсли Выполнено = 1 Тогда
Ран = CInt(Rnd * 9)
Createpass = Createpass и выполнено
ИначеЕсли Выполнено = 2 Тогда
Ран = CInt(Rnd * 25) + 97
Createpass = Createpass& Chr(Ran)
Конец, если
Следующий
Конечная функция
'重写выполнить
Функция восстановления
Открытая функция «Выполнение» (команда)
Если не IsObject(Conn), то ConnectionDatabase
'检查权限,防止注入攻击
Если InStr(LCase(Command),"dv_admin")>0 And Left(ScriptName,6)<> "admin_" Тогда
Response.Write SaveSQLLOG(Command,"")
Command=Replace(LCase(Command),"dv_admin","dv"&Chr(95)&"admin")
Конец, если
Если IsDeBug = 0 Тогда
При ошибке Возобновить Далее
Установить выполнение = Conn.Execute(команда)
Если Ошибка Тогда
Ошиб.Очистить
Установить соединение = ничего
Response.Write SaveSQLLOG(Command, "查询数据的时候发现错误,请检查您的查询代码是否正确。
基于安全的理由,只显示本信息,要查看详细的错误信息,请修改您的程序文件conn.asp。把""Const IsDeBug = 0"" Текст:""Const IsDeBug = 1""")
Ответ.Конец
Конец, если
Еще
'Команда Response.Write & "
"
Установить выполнение = Conn.Execute(команда)
Конец, если
SqlQueryNum = SqlQueryNum+1
Конечная
функция
Открытая функция SaveSQLLOG(sCommand,message)
Тусклый lConnStr, lConn, ldb, SQL, RS
ldb = "данные/DvSQLLOG.mdb"
lConnStr = "Поставщик = Microsoft.Jet.OLEDB.4.0; Источник данных = " & Server.MapPath(ldb)
Установите lConn = Server.CreateObject("ADODB.Connection")
lConn.Open lConnStr
Установите Rs = Server.CreateObject("adodb.recordset")
Sql="выберите * из dv_sql_log"
Rs.open sql,lconn,1,3
Rs.addnew
Rs("ScriptName")=ScriptName
Rs("S_Info")=Влево(sCommand,255)
Rs("ip")=UserTrueIP
Обновление рупий
рупийблизко
lConn.Execute(SQL)
lПодключение.Закрыть
Установить lConn = Ничего
SaveSQLLOG = сообщение
Конечная функция
'IP来源
Адрес публичной функции (sip)
Тусклый aConnStr,aConn,adb
Тусклый str1,str2,str3,str4
Тусклый номер
Тусклая страна, город
Тусклые иры, SQL
Если IsNumeric(Left(sip,2)) Тогда
Если sip="127.0.0.1" Тогда sip="192.168.0.1"
str1=Влево(глоток,InStr(глоток,".")-1)
sip=mid(sip,instr(sip,".")+1)
str2=Влево(глоток,инстр(глоток,".")-1)
sip=Mid(sip,InStr(sip,".")+1)
str3=Влево(глоток,инстр(глоток,".")-1)
str4=Mid(sip,instr(sip,".")+1)
Если isNumeric(str1)=0 или isNumeric(str2)=0 или isNumeric(str3)=0 или isNumeric(str4)=0 Тогда
Еще
num=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
adb = "данные/ipaddress.mdb"
aConnStr = "Поставщик = Microsoft.Jet.OLEDB.4.0; Источник данных = " & Server.MapPath(adb)
Установите AConn = Server.CreateObject("ADODB.Connection")
aConn.Open aConnStr
sql="выберите 1 первую страну и город из dv_address, где ip1 <="&num&" и ip2 >="&num&""
Установите irs=aConn.execute(sql)
Если irs.EOF и irs.bof Тогда
страна="亚洲"
город=""
Еще
страна=IRS(0)
город=IRS(1)
Конец, если
Установить irs=Ничего
Установить aConn = Ничего
SqlQueryNum = SqlQueryNum+1
Конец, если
адрес = страна и город
Еще
адрес="未知"
Конец, если
Конечная функция
'用于用户发布的各种信息过滤,带脏话过滤
Открытая функция HTMLEncode(fString)
Если Не IsNull(fString) Тогда
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Заменить(fString, CHR(32), " ") '
fString = Заменить(fString, CHR(9), " ") '
fString = Заменить(fString, CHR(34), """)
fString = Заменить(fString, CHR(39), "'") '过滤单引号
fString = Заменить(fString, CHR(13), "")
fString = Заменить(fString, CHR(10) & CHR(10), "
")
fString = Заменить(fString, CHR(10), "
")
fString=ChkBadWords(fString)
HTMLEncode = fString
Конец, если
Конечная функция
'用于论坛本身的过滤,不带脏话过滤
Открытая функция iHTMLEncode(fString)
Если Не IsNull(fString) Тогда
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Заменить(fString, CHR(32), " ")
fString = Заменить(fString, CHR(9), " ")
fString = Заменить(fString, CHR(34), """)
fString = Заменить(fString, CHR(39), "'")
fString = Заменить(fString, CHR(13), "")
fString = Заменить(fString, CHR(10) & CHR(10), "
")
fString = Заменить(fString, CHR(10), "
")
iHTMLEncode = fString
Конец, если
Конечная функция
Открытая функция strLength(str)
Если isNull(str) или Str = "" Тогда
СтрЛенгс = 0
Выход из функции
Конец, если
Тусклый WINNT_CHINESE
WINNT_CHINESE=(len("例子")=2)
Если WINNT_CHINESE Тогда
Тусклый л, т, с
Дим я
л=лен(стр)
т=л
Для i=1 К l
c=asc(mid(str,i,1))
Если c<0, то c=c+65536
Если c>255 Тогда t=t+1
Следующий
strLength=t
Еще
strLength=len(str)
Конец, если
Конечная функция
Открытая функция ChkBadWords(Str)
Если IsNull(Str), то выйти из функции
Дим я
Для i = 0 To Ubound(BadWords)
Если я > UBound(rBadWord), то
Str = Заменить(Str,BadWords(i),"*")
Еще
Str = Заменить(Str,BadWords(i),rBadWord(i))
Конец, если
Следующий
ЧкБадВордс = Стр
Конечная функция
Открытая функция Checkstr(Str)
Если Isnull(Str) Тогда
ЧекСтр = ""
Выход из функции
Конец, если
CheckStr = Заменить(Str,"'","''")
Конечная функция
'取得带端口的URL, 推荐使用
Свойство Получить Get_ScriptNameUrl()
Если request.servervariables("SERVER_PORT")="80" Тогда
Get_ScriptNameUrl="http://" & request.servervariables("имя_сервера")&replace(lcase(request.servervariables("script_name")),ScriptName,"")
Еще
Get_ScriptNameUrl="http://" & request.servervariables("server_name")&":"&request.servervariables("SERVER_PORT")&replace(lcase(request.servervariables("script_name")),ScriptName,"")
Конец, если
End Property
'检查Email地址有效性
функция IsValidEmail(электронная почта)
тусклые имена, имя, я, с
Исвалидэмаил = правда
имена = Split(электронная почта, "@")
если UBound(имена) <> 1, то
Исвалидэмаил = ложь
функция выхода
конец, если
за каждое имя в именах
если Len(имя) <= 0, то
Исвалидэмаил = ложь
функция выхода
конец, если
для i = 1 до Len(имя)
c = Lcase(Mid(имя, я, 1))
если InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 и не IsNumeric(c), тогда
Исвалидэмаил = ложь
функция выхода
конец, если
следующий
if Left(name, 1) = "." или Right(name, 1) = "." затем
Исвалидэмаил = ложь
функция выхода
конец, если
следующий
если InStr(names(1), ".") <= 0, то
Исвалидэмаил = ложь
функция выхода
конец, если
i = Len(names(1)) - InStrRev(names(1), ".")
если я <> 2 и я <> 3, то
Исвалидэмаил = ложь
функция выхода
конец, если
если InStr(email, "..") > 0, то
Исвалидэмаил = ложь
end if
end
function strLength(str)
ПРИ ОШИБКЕ ВОЗОБНОВИТЬ СЛЕДУЮЩИЙ
тусклый WINNT_CHINESE
WINNT_CHINESE = (len("论坛")=2)
если WINNT_CHINESE тогда
тусклый л, т, с
тусклый я
л=лен(стр)
т=л
для я = от 1 до л
c=asc(mid(str,i,1))
если c<0, то c=c+65536
если с>255, то
т=т+1
конец, если
следующий
strLength=t
еще
strLength=len(str)
конец, если
если err.number<>0, то err.clear
конечная функция
функция CutStr(str,strlen)
тусклый л, т, с
л=лен(стр)
т=0
для я = от 1 до л
c=Abs(Asc(Mid(str,i,1)))
если с>255, то
т=т+2
еще
т=т+1
конец, если
если t>=strlen тогда
CutStr=left(str,i)&"..."
выход для
еще
CutStr=str
конец, если
следующий
CutStr = заменить (cutStr, chr (10), "")
конечная функция
Функция fixjs(Str)
Если Str <>"" Тогда
строка = заменить(строка,"", "\")
Str = replace(str, chr(34), """")
Str = replace(str, chr(39),"'")
Str = Заменить(str, chr(13), "n")
Str = Заменить(str, chr(10), "r")
str = replace(str,"'", "'")
Конец, если
fixjs=Str
Конечная функция
Функция enfixjs(Str)
Если Str <>"" Тогда
Str = replace(str,"'", "'")
Str = replace(str,"""" , chr(34))
Str = replace(str, "'",chr(39))
Str = Заменить(str, "r", chr(10))
Str = Заменить(str, "n", chr(13))
Str = replace(str,"\", "")
Конец, если
enfixjs=Str
Конечная функция
Класс Cls_Browser
Публичный браузер, версия, платформа
Частный подкласс_Initialize()
Браузер="неизвестно"
версия="неизвестно"
платформа="неизвестно"
Тусклый агент
Agent=Request.ServerVariables("HTTP_USER_AGENT")
Агент=Разделить(Агент,";")
Если InStr(Агент(1),"MSIE")>0 Тогда
Браузер="Microsoft Internet Explorer"
version=Trim(Left(Replace(Agent(1),"MSIE",""),6))
ИначеЕсли InStr(Агент(4),"Netscape")>0 Тогда
Браузер="Нетскейп"
Тусклый tmpstr
tmpstr=Split(Агент(4),"/")
версия = tmpstr (UBound (tmpstr))
Конец, если
Если InStr(Агент(2),"NT 5.2")>0 Тогда
платформа="Windows 2003"
ИначеЕсли InStr(Агент(2),"NT 5.1")>0 Тогда
платформа="Windows XP"
ИначеЕсли InStr(Агент(2),"NT 5.0")>0 Тогда
платформа="Windows 2000"
ИначеЕсли InStr(Агент(2),"9x")>0 Тогда
платформа="Windows ME"
ИначеЕсли InStr(Агент(2),"98")>0 Тогда
платформа="Windows 98"
ИначеЕсли InStr(Агент(2),"95")>0 Тогда
платформа="Windows 95"
Конец, если
'记录未知Агент
Если Браузер="неизвестно" или версия="неизвестно" или платформа="неизвестно" Тогда
Agent=Dvbbs.checkStr(Request.ServerVariables("HTTP_USER_AGENT"))
Тусклый lConnStr,lConn,ldb
ldb = "данные/DvSQLLOG.mdb"
lConnStr = "Поставщик = Microsoft.Jet.OLEDB.4.0; Источник данных = " & Server.MapPath(ldb)
Установите lConn = Server.CreateObject("ADODB.Connection")
lConn.Open lConnStr
lConn.Execute("вставить в [Agent](UserAgent)Values('" & Agent & "')")
lПодключение.Закрыть
Установить lConn = Ничего
Конец, если
Конец субтитра
Конечный класс
%>