<%
' 判断提交是否來자체외부
공용 함수 ChkPost()
희미한 server_v1,server_v2
Chkpost=거짓
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
Mid(server_v1,8,len(server_v2))=server_v2인 경우 Chkpost=True
기능 종료
'系统分配随机密码'
공개 함수 Createpass()
Dim Ran,i,LengthNum
길이Num=16
패스 생성=""
i=1에서 LengthNum으로
무작위화
란 = CInt(Rnd * 2)
무작위화
Ran = 0이면
란 = CInt(Rnd * 25) + 97
Createpass =Createpass& UCase(Chr(Ran))
ElseIf Ran = 1 그러면
란 = CInt(Rnd * 9)
Createpass = Createpass & Ran
ElseIf Ran = 2 그러면
란 = CInt(Rnd * 25) + 97
Createpass =Createpass& Chr(Ran)
종료 조건
다음
기능 종료
'중대실행
렘 함수
공용 함수 실행(명령)
IsObject(Conn)가 아니면 ConnectionDatabase
'检查权限,防止注入攻击
If InStr(LCase(Command),"dv_admin")>0 And Left(ScriptName,6)<> "admin_" 그러면
응답.저장SQLLOG 쓰기(명령,"")
Command=Replace(LCase(Command),"dv_admin","dv<i>"&Chr(95)&"</i>admin")
종료 조건
IsDeBug = 0이면
오류 발생 시 다음 재개
실행 설정 = Conn.Execute(명령)
오류가 발생한 경우
오류가 발생했습니다.지우기
Conn = 없음 설정
Response.Write SaveSQLLOG(Command,"查询数据的时候发现错误,请检查您的查询代码是否正确。<br>基于보안의 논리 由,只显示本信息,要查看详细的错误信息,请修改您的程序文件conn.asp。把""Const IsDeBug = 0""改为:""Const IsDeBug = 1""")
응답.종료
종료 조건
또 다른
'Response.Write 명령 & "<br>"
실행 설정 = 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("스크립트 이름")=스크립트 이름
Rs("S_Info")=왼쪽(sCommand,255)
Rs("ip")=UserTrueIP
Rs.업데이트
Rs.close
lConn.Execute(SQL)
l연결.닫기
lConn = 없음 설정
SaveSQLLOG = 메시지
종료 기능
'IP来源
공개 함수 주소(sip)
희미한 aConnStr,aConn,adb
희미한 str1,str2,str3,str4
딤넘
희미한 시골, 도시
희미한 IR, SQL
If IsNumeric(Left(sip,2)) Then
sip="127.0.0.1"인 경우 sip="192.168.0.1"
str1=왼쪽(sip,InStr(sip,".")-1)
sip=mid(sip,instr(sip,".")+1)
str2=왼쪽(sip,instr(sip,".")-1)
sip=Mid(sip,InStr(sip,".")+1)
str3=왼쪽(sip,instr(sip,".")-1)
str4=중간(sip,instr(sip,".")+1)
isNumeric(str1)=0 또는 isNumeric(str2)=0 또는 isNumeric(str3)=0 또는 isNumeric(str4)=0인 경우
또 다른
숫자=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="dv_address에서 상위 1개 국가, 도시를 선택하세요. 여기서 ip1 <="&num&" 및 ip2 >="&num&""
irs=aConn.execute(sql) 설정
irs.EOF 및 irs.bof인 경우
country="亚洲"
도시=""
또 다른
국가=IRS(0)
도시=irs(1)
종료 조건
irs=아무것도 설정하지 않음
aConn = 없음으로 설정
SqlQueryNum = SqlQueryNum+1
종료 조건
주소=국가&도시
또 다른
address="未알"
종료 조건
기능 종료
'사용하는 용도는 各种信息过滤,带脏话过滤
공개 함수 HTMLEncode(fString)
IsNull(fString)이 아니면
fString = 대체(fString, ">", ">")
fString = 대체(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), "</P><P> ")
fString = 바꾸기(fString, CHR(10), "<BR> ")
fString=ChkBadWords(fString)
HTMLEncode = fString
종료 조건
기능 종료
'사용할 수 있는 것이 없습니다.
공용 함수 iHTMLEncode(fString)
IsNull(fString)이 아니면
fString = 대체(fString, ">", ">")
fString = 대체(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), "</P><P> ")
fString = 바꾸기(fString, CHR(10), "<BR> ")
iHTMLEncode = fString
종료 조건
기능 종료
공개 함수 strLength(str)
isNull(str) 또는 Str = ""인 경우
강도 = 0
종료 기능
종료 조건
희미한 WINNT_CHINESE
WINNT_CHINESE=(len("例子")=2)
WINNT_CHINESE인 경우
희미한 l,t,c
나는 어둡다
l=길이(str)
t=l
i=1에 대해 l
c=asc(중간(str,i,1))
c<0이면 c=c+65536
c>255이면 t=t+1
다음
str길이=t
또 다른
str길이=len(str)
종료 조건
기능 종료
공용 함수 ChkBadWords(Str)
IsNull(Str)이면 함수 종료
나는 어둡다
i = 0인 경우 Ubound(BadWords)로
i > UBound(rBadWord)이면
Str = 바꾸기(Str,BadWords(i),"*")
또 다른
Str = 바꾸기(Str,BadWords(i),rBadWord(i))
종료 조건
다음
ChkBadWords = Str
기능 종료
공용 함수 Checkstr(Str)
If Isnull(Str) 그렇다면
CheckStr = ""
종료 기능
종료 조건
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,"")
종료 조건
끝 속성
'检查Email地址有效性
함수 IsValidEmail(이메일)
희미한 이름, 이름, i, c
IsValidEmail = 참
이름 = 분할(이메일, "@")
UBound(names) <> 1이면
IsValidEmail = 거짓
종료 기능
종료하면
이름의 각 이름에 대해
Len(이름) <= 0이면
IsValidEmail = 거짓
종료 기능
종료하면
for i = 1 ~ Len(이름)
c = Lcase(Mid(이름, i, 1))
if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0이고 IsNumeric(c)이 아닌 경우
IsValidEmail = 거짓
종료 기능
종료하면
다음
if Left(이름, 1) = "." 또는 Right(이름, 1) = "." 그 다음에
IsValidEmail = 거짓
종료 기능
종료하면
다음
if InStr(names(1), ".") <= 0 then
IsValidEmail = 거짓
종료 기능
종료하면
i = Len(이름(1)) - InStrRev(이름(1), ".")
i <> 2이고 i <> 3이면
IsValidEmail = 거짓
종료 기능
종료하면
InStr(email, "..") > 0이면
IsValidEmail = 거짓
end if
end 함수
function strLength(str)
오류 발생 시 다음 재개
어두움 WINNT_CHINESE
WINNT_CHINESE = (len("论坛")=2)
WINNT_CHINESE인 경우
희미한 l,t,c
나 어두워
l=길이(str)
t=l
i=1에서 l까지
c=asc(중간(str,i,1))
c<0이면 c=c+65536
c>255이면
티=티+1
종료하면
다음
str길이=t
또 다른
str길이=len(str)
종료하면
err.number<>0이면 err.clear
끝 함수
함수 cutStr(str,strlen)
희미한 l,t,c
l=길이(str)
티=0
i=1에서 l까지
c=Abs(Asc(Mid(str,i,1)))
c>255이면
티=티+2
또 다른
티=티+1
종료하면
t>=strlen이면
cutStr=왼쪽(str,i)&"..."
종료
또 다른
cutStr=str
종료하면
다음
cutStr=replace(cutStr,chr(10),"")
끝 기능
기능 fixjs(Str)
Str <>""이면
str = 대체(str,"", "\")
Str = 대체(str, chr(34), """")
Str = 대체(str, chr(39),"'")
Str = 바꾸기(str, chr(13), "n")
Str = 바꾸기(str, chr(10), "r")
str = 대체(str,"'", "'")
종료 조건
fixjs=Str
기능 종료
함수 enfixjs(Str)
Str <>""이면
Str = 대체(str,"'", "'")
Str = 대체(str,"""" , chr(34))
Str = 대체(str, "'",chr(39))
Str = 바꾸기(str, "r", chr(10))
Str = 바꾸기(str, "n", chr(13))
Str = 대체(str,"\", "")
종료 조건
enfixjs=Str
기능 종료
클래스 Cls_Browser
공용 브라우저, 버전, 플랫폼
비공개 하위 클래스_Initialize()
브라우저="알 수 없음"
버전="알 수 없음"
플랫폼="알 수 없음"
희미한 에이전트
에이전트=Request.ServerVariables("HTTP_USER_AGENT")
에이전트=분할(에이전트,";")
InStr(Agent(1),"MSIE")>0이면
브라우저="마이크로소프트 인터넷 익스플로러"
version=Trim(Left(Replace(Agent(1),"MSIE",""),6))
ElseIf InStr(Agent(4),"Netscape")>0 Then
브라우저="넷스케이프"
희미한 tmpstr
tmpstr=분할(에이전트(4),"/")
버전=tmpstr(UBound(tmpstr))
종료 조건
If InStr(Agent(2),"NT 5.2")>0 그러면
플랫폼="윈도우 2003"
ElseIf InStr(Agent(2),"NT 5.1")>0 Then
플랫폼="윈도우 XP"
ElseIf InStr(에이전트(2),"NT 5.0")>0 Then
플랫폼="윈도우 2000"
ElseIf InStr(Agent(2),"9x")>0 Then
플랫폼="윈도우 ME"
ElseIf InStr(Agent(2),"98")>0 Then
플랫폼="윈도우 98"
ElseIf InStr(Agent(2),"95")>0 Then
플랫폼="윈도우 95"
종료 조건
'记录未知에이전트
브라우저="알 수 없음", 버전="알 수 없음" 또는 플랫폼="알 수 없음"인 경우
에이전트=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("[에이전트](UserAgent)값에 삽입('" & 에이전트 & "')")
l연결.닫기
lConn = 없음 설정
종료 조건
서브 끝
수업 종료
%>