<%
' 判断提交是否來自外部
Fungsi Publik ChkPost()
Redupkan server_v1,server_v2
Chkpost=Salah
server_v1=Cstr(Permintaan.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Permintaan.ServerVariables("SERVER_NAME"))
Jika Pertengahan(server_v1,8,len(server_v2))=server_v2 Maka Chkpost=True
Fungsi Akhir
'系统分配随机密码
Createpass Fungsi Publik()
Redupkan Ran,i,PanjangNum
PanjangJumlah=16
Buat pass=""
Untuk i=1 Ke PanjangNum
Acak
Berlari = CInt(Rnd * 2)
Acak
Jika Ran = 0 Maka
Berlari = CInt(Rnd * 25) + 97
Createpass =Buatpass& UCase(Chr(Ran))
ElseIf Ran = 1 Lalu
Berlari = CInt(Rnd * 9)
Createpass = Createpass & Berlari
ElseIf Ran = 2 Lalu
Berlari = CInt(Rnd * 25) + 97
Createpass =Buatpass& Chr(Berjalan)
Akhiri Jika
Berikutnya
Fungsi Akhir
'重写 jalankan
Fungsi Rem
Jalankan Fungsi Publik (Perintah)
Jika Bukan IsObject(Conn) Maka ConnectionDatabase
'检查权限,防止注入攻击
Jika InStr(LCase(Command),"dv_admin")>0 Dan Kiri(Nama Skrip,6)<> "admin_" Lalu
Respon.Tulis SaveSQLLOG(Perintah,"")
Perintah=Ganti(LCase(Perintah),"dv_admin","dv<i>"&Chr(95)&"</i>admin")
Akhiri Jika
Jika IsDeBug = 0 Maka
Pada Kesalahan Lanjutkan Berikutnya
Setel Eksekusi = Sambung.Eksekusi(Perintah)
Jika Salah Lalu
err.Hapus
Setel Sambungan = Tidak Ada
Respon.Tulis SimpanSQLLOG(Command,"查询数据的时候发现错误,请检查您的查询代码是否正确。<br>基于安全的理由,只显示本信息,要查看详细的错误信息,请修改您的程序文件conn.asp。把""Const IsDeBug = 0""改为:""Const IsDeBug = 1""")
Respon.Akhir
Akhiri Jika
Kalau tidak
'Respon.Tulis perintah & "<br>"
Setel Eksekusi = Sambung.Eksekusi(Perintah)
Akhiri Jika
SqlQueryNum = SqlQueryNum+1
Fungsi Akhir
'记录查询错误事件
Fungsi Publik SaveSQLLOG(sCommand,message)
Redupkan lConnStr,lConn,ldb,SQL,RS
ldb = "data/DvSQLLOG.mdb"
lConnStr = "Penyedia = Microsoft.Jet.OLEDB.4.0;Sumber Data = " & Server.MapPath(ldb)
Setel lConn = Server.CreateObject("ADODB.Connection")
lConn.Buka lConnStr
Setel Rs = Server.CreateObject("adodb.recordset")
Sql="pilih * dari dv_sql_log"
Rs.buka sql,lconn,1,3
Rs.tambah baru
Rs("NamaScript")=NamaScript
Rs("S_Info")=Kiri(sCommand,255)
Rs("ip")=PenggunaTrueIP
Rs.perbarui
Rs.tutup
lConn.Eksekusi(SQL)
lKoneksi.Tutup
Setel lConn = Tidak Ada
SaveSQLLOG = pesan
Fungsi Akhir
'IP来源
Alamat Fungsi Publik (sip)
Redupkan aConnStr,aConn,adb
Redupkan str1,str2,str3,str4
Angka redup
Negara redup, kota
Redupkan, SQL
Jika IsNumeric(Kiri(sip,2)) Lalu
Jika sip = "127.0.0.1" Lalu sip = "192.168.0.1"
str1=Kiri(sip,InStr(sip,".")-1)
sip=pertengahan(sip,instr(sip,".")+1)
str2=Kiri(sip,instr(sip,".")-1)
sip=Pertengahan(sip,InStr(sip,".")+1)
str3=Kiri(sip,instr(sip,".")-1)
str4=Pertengahan(sip,instr(sip,".")+1)
Jika isNumeric(str1)=0 atau isNumeric(str2)=0 atau isNumeric(str3)=0 atau isNumeric(str4)=0 Maka
Kalau tidak
angka=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
adb = "data/ipaddress.mdb"
aConnStr = "Penyedia = Microsoft.Jet.OLEDB.4.0;Sumber Data = " & Server.MapPath(adb)
Setel AConn = Server.CreateObject("ADODB.Connection")
aConn.Open aConnStr
sql="pilih 1 negara, kota teratas dari dv_address di mana ip1 <="&num&" dan ip2 >="&num&""
Setel irs=aConn.execute(sql)
Jika irs.EOF Dan irs.bof Lalu
negara="亚洲"
kota=""
Kalau tidak
negara=irs(0)
kota=irs(1)
Akhiri Jika
Setel irs=Tidak Ada
Setel aConn = Tidak Ada
SqlQueryNum = SqlQueryNum+1
Akhiri Jika
alamat=negara&kota
Kalau tidak
alamat="未知"
Akhiri Jika
Fungsi Akhir
'用于用户发布的各种信息过滤,带脏话过滤
Fungsi Publik HTMLEncode (fString)
Jika Bukan IsNull(fString) Lalu
fString = ganti(fString, ">", ">")
fString = ganti(fString, "<", "<")
fString = Ganti(fString, CHR(32), " ") '
fString = Ganti(fString, CHR(9), " ") '
fString = Ganti(fString, CHR(34), """)
fString = Ganti(fString, CHR(39), "'") '过滤单引号
fString = Ganti(fString, CHR(13), "")
fString = Ganti(fString, CHR(10) & CHR(10), "</P><P> ")
fString = Ganti(fString, CHR(10), "<BR> ")
fString=ChkBadWords(fString)
HTMLEncode = fString
Akhiri Jika
Fungsi Akhir
'Perusahaan Bisnis, Bisnis, Bisnis, Bisnis, dan Bisnis.
Fungsi Publik iHTMLEncode(fString)
Jika Bukan IsNull(fString) Lalu
fString = ganti(fString, ">", ">")
fString = ganti(fString, "<", "<")
fString = Ganti(fString, CHR(32), " ")
fString = Ganti(fString, CHR(9), " ")
fString = Ganti(fString, CHR(34), """)
fString = Ganti(fString, CHR(39), "'")
fString = Ganti(fString, CHR(13), "")
fString = Ganti(fString, CHR(10) & CHR(10), "</P><P> ")
fString = Ganti(fString, CHR(10), "<BR> ")
iHTMLEncode = fString
Akhiri Jika
Fungsi Akhir
Fungsi Publik strLength(str)
Jika isNull(str) atau Str = "" Lalu
Panjang Str = 0
Fungsi Keluar
Akhiri Jika
Redupkan WINNT_CHINESE
WINNT_CHINESE=(len("例子")=2)
Jika WINNT_CHINESE Lalu
Redupkan l,t,c
Redupkan saya
aku=len(str)
t=aku
Untuk saya=1 Ke l
c=asc(tengah(str,i,1))
Jika c<0 Maka c=c+65536
Jika c>255 Maka t=t+1
Berikutnya
strPanjang=t
Kalau tidak
strPanjang=len(str)
Akhiri Jika
Fungsi Akhir
Fungsi Publik ChkBadWords(Str)
Jika IsNull(Str) Kemudian Keluar dari Fungsi
Redupkan saya
Untuk i = 0 Ke Ubound(Kata-kata Buruk)
Jika i > UBound(rBadWord) Lalu
Str = Ganti(Str,Kata Buruk(i),"*")
Kalau tidak
Str = Ganti(Str,Kata Buruk(i),rKata Buruk(i))
Akhiri Jika
Berikutnya
ChkBadWords = Str
Fungsi Akhir
Checkstr Fungsi Publik(Str)
Jika Isnull(Str) Maka
PeriksaStr = ""
Fungsi Keluar
Akhiri Jika
CheckStr = Ganti(Str,"'","''")
Fungsi Akhir
'取得带端口的URL,推荐使用
Properti Dapatkan Get_ScriptNameUrl()
Jika request.servervariables("SERVER_PORT")="80" Lalu
Get_ScriptNameUrl="http://" & request.servervariables("server_name")&replace(lcase(request.servervariables("script_name")),ScriptName,"")
Kalau tidak
Get_ScriptNameUrl="http://" & request.servervariables("server_name")&":"&request.servervariables("SERVER_PORT")&replace(lcase(request.servervariables("script_name")),ScriptName,"")
Akhiri Jika
Properti Akhir
'检查Email地址有效性
fungsi IsValidEmail(email)
nama redup, nama, i, c
IsValidEmail = benar
nama = Pisahkan(email, "@")
jika UBound(nama) <> 1 maka
IsValidEmail = salah
fungsi keluar
berakhir jika
untuk setiap nama dalam nama
jika Len(nama) <= 0 maka
IsValidEmail = salah
fungsi keluar
berakhir jika
untuk i = 1 sampai Len(nama)
c = Lcase(Tengah(nama, i, 1))
jika InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 dan bukan IsNumeric(c) maka
IsValidEmail = salah
fungsi keluar
berakhir jika
Berikutnya
jika Kiri(nama, 1) = "." atau Kanan(nama, 1) = "." Kemudian
IsValidEmail = salah
fungsi keluar
berakhir jika
Berikutnya
jika InStr(nama(1), ".") <= 0 maka
IsValidEmail = salah
fungsi keluar
berakhir jika
i = Len(nama(1)) - InStrRev(nama(1), ".")
jika i <> 2 dan i <> 3 maka
IsValidEmail = salah
fungsi keluar
berakhir jika
jika InStr(email, "..") > 0 maka
IsValidEmail = salah
akhir jika
fungsi akhir
fungsi strLength(str)
PADA EROR RESUME BERIKUTNYA
redupkan WINNT_CHINESE
WINNT_CHINESE = (len("论坛")=2)
jika WINNT_CHINESE maka
redup l,t,c
redupkan aku
aku=len(str)
t=aku
untuk i=1 sampai l
c=asc(tengah(str,i,1))
jika c<0 maka c=c+65536
jika c>255 maka
t=t+1
berakhir jika
Berikutnya
strPanjang=t
kalau tidak
strPanjang=len(str)
berakhir jika
jika err.number<>0 maka err.clear
fungsi akhir
fungsi cutStr(str,strlen)
redup l,t,c
aku=len(str)
t=0
untuk i=1 sampai l
c=Abs(Asc(Tengah(str,i,1)))
jika c>255 maka
t=t+2
kalau tidak
t=t+1
berakhir jika
jika t>=strlen maka
cutStr=kiri(str,i)&"..."
keluar untuk
kalau tidak
potongStr=str
berakhir jika
Berikutnya
cutStr=ganti(cutStr,chr(10),"")
fungsi akhir
Fungsi fixjs(Str)
Jika Str <>"" Lalu
str = ganti(str,"", "\")
Str = ganti(str, chr(34), """")
Str = ganti(str, chr(39),"'")
Str = Ganti(str, chr(13), "n")
Str = Ganti(str, chr(10), "r")
str = ganti(str,"'", "'")
Akhiri Jika
fixjs=Str
Fungsi Akhir
Fungsi enfixjs(Str)
Jika Str <>"" Lalu
Str = ganti(str,"'", "'")
Str = ganti(str,"""" , chr(34))
Str = ganti(str, "'",chr(39))
Str = Ganti(str, "r", chr(10))
Str = Ganti(str, "n", chr(13))
Str = ganti(str,"\", "")
Akhiri Jika
enfixjs=Str
Fungsi Akhir
Kelas Cls_Browser
Browser Publik, versi, platform
Sub Kelas Pribadi_Inisialisasi()
Peramban="tidak diketahui"
versi="tidak diketahui"
platform="tidak diketahui"
Agen Redup
Agen=Permintaan.ServerVariables("HTTP_USER_AGENT")
Agen=Pisahkan(Agen,";")
Jika InStr(Agent(1),"MSIE")>0 Lalu
Peramban="Microsoft Internet Explorer"
versi=Trim(Kiri(Ganti(Agen(1),"MSIE",""),6))
ElseIf InStr(Agent(4),"Netscape")>0 Lalu
Peramban="Netscape"
Redupkan tmpstr
tmpstr=Pisahkan(Agen(4),"/")
versi=tmpstr(UBound(tmpstr))
Akhiri Jika
Jika InStr(Agen(2),"NT 5.2")>0 Lalu
platform="Windows 2003"
ElseIf InStr(Agent(2),"NT 5.1")>0 Lalu
platform="Windows XP"
ElseIf InStr(Agent(2),"NT 5.0")>0 Lalu
platform="Windows 2000"
ElseIf InStr(Agent(2),"9x")>0 Lalu
platform="Windows SAYA"
ElseIf InStr(Agent(2),"98")>0 Lalu
platform="Windows 98"
ElseIf InStr(Agent(2),"95")>0 Lalu
platform="Windows 95"
Akhiri Jika
'记录未知Agen
Jika Browser = "tidak diketahui" atau versi = "tidak diketahui" atau platform = "tidak diketahui" Lalu
Agen=Dvbbs.checkStr(Permintaan.ServerVariables("HTTP_USER_AGENT"))
Redupkan lConnStr,lConn,ldb
ldb = "data/DvSQLLOG.mdb"
lConnStr = "Penyedia = Microsoft.Jet.OLEDB.4.0;Sumber Data = " & Server.MapPath(ldb)
Setel lConn = Server.CreateObject("ADODB.Connection")
lConn.Buka lConnStr
lConn.Execute("masukkan ke dalam [Agen](UserAgent)Nilai('" & Agen & "')")
lKoneksi.Tutup
Setel lConn = Tidak ada
Akhiri Jika
Akhiri Sub
Kelas Akhir
%>