-
' 判断提交是否來自外部
ฟังก์ชั่นสาธารณะ 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)
สุ่ม
ถ้ารัน = 0 แล้ว
วิ่ง = CInt(Rnd * 25) + 97
Createpass = สร้างพาส & UCase (Chr (รัน))
อย่างอื่นถ้ารัน = 1 แล้ว
วิ่ง = CInt(Rnd * 9)
Createpass = Createpass & วิ่ง
อย่างอื่นถ้ารัน = 2 แล้ว
วิ่ง = CInt(Rnd * 25) + 97
Createpass = สร้างพาส & Chr (รัน)
สิ้นสุดถ้า
ต่อไป
ฟังก์ชันสิ้นสุด
'重写ดำเนินการ
ฟังก์ชั่นเรม
ดำเนินการฟังก์ชั่นสาธารณะ (คำสั่ง)
ถ้าไม่ใช่ IsObject (Conn) แสดงว่า ConnectionDatabase
检查权限,防止注入攻击
ถ้า InStr(LCase(Command),"dv_admin")>0 และซ้าย(ScriptName,6)<> "admin_" จากนั้น
Response.เขียน SaveSQLLOG(คำสั่ง,"")
Command=แทนที่(LCase(คำสั่ง),"dv_admin","dv<i>"&Chr(95)&"</i>ผู้ดูแลระบบ")
สิ้นสุดถ้า
ถ้า IsDeBug = 0 แล้ว
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
ตั้งค่า Execute = Conn.Execute (คำสั่ง)
หากผิดพลาดแล้ว
ผิดพลาด เคลียร์
ตั้งค่า Conn = ไม่มีเลย
Response.Write SaveSQLLOG(Command,"查询数据的时候发现错误,请检查您的查询代码是否正确。<br>基于安全的理由,只显示本信息,要查看详细的错误信息,请修改您的程序文件conn.asp 。把""Const IsDeBug = 0""เพิ่มเติม:""Const IsDeBug = 1""")
การตอบสนองสิ้นสุด
สิ้นสุดถ้า
อื่น
'คำสั่ง Response.Write & "<br>"
ตั้งค่า Execute = Conn.Execute (คำสั่ง)
สิ้นสุดถ้า
SqlQueryNum = SqlQueryNum+1
สิ้นสุดฟังก์ชัน
'记录查询错误事件
ฟังก์ชั่นสาธารณะ SaveSQLLOG (sCommand, ข้อความ)
หรี่ lConnStr,lConn,ldb,SQL,RS
ldb = "ข้อมูล/DvSQLLOG.mdb"
lConnStr = "ผู้ให้บริการ = Microsoft.Jet.OLEDB.4.0;แหล่งข้อมูล = " & Server.MapPath(ldb)
ตั้งค่า lConn = Server.CreateObject("ADODB.Connection")
lConn.เปิด lConnStr
ตั้งค่า Rs = Server.CreateObject("adodb.recordset")
Sql = "เลือก * จาก dv_sql_log"
Rs. เปิด sql, lconn, 1,3
฿เพิ่มใหม่
Rs("ชื่อสคริปต์")=ชื่อสคริปต์
฿("S_Info")=ซ้าย(sCommand,255)
Rs("ip")=UserTrueIP
฿ อัปเดต
฿ปิด
lConn.ดำเนินการ(SQL)
lConn.ปิด
ตั้งค่า lConn = ไม่มีเลย
SaveSQLLOG = ข้อความ
สิ้นสุดฟังก์ชัน
'IP来源
ที่อยู่ฟังก์ชั่นสาธารณะ (sip)
หรี่ aConnStr,aConn,adb
หรี่แสง str1,str2,str3,str4
หมายเลขติ่มซำ
ประเทศสลัวเมือง
หรี่ IRS, SQL
ถ้า IsNumeric(Left(sip,2)) จากนั้น
ถ้า sip="127.0.0.1" จากนั้น sip="192.168.0.1"
str1=ซ้าย(จิบ,InStr(จิบ,".")-1)
จิบ=กลาง(จิบ,instr(จิบ,".")+1)
str2=ซ้าย(sip,instr(sip,".")-1)
sip=กลาง(จิบ,InStr(จิบ,".")+1)
str3=ซ้าย(sip,instr(sip,".")-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 แล้ว
Country="亚洲"
เมือง = ""
อื่น
ประเทศ=irs(0)
เมือง=irs(1)
สิ้นสุดถ้า
ตั้งค่า irs=ไม่มีอะไร
ตั้งค่า aConn = ไม่มีเลย
SqlQueryNum = SqlQueryNum+1
สิ้นสุดถ้า
ที่อยู่=ประเทศ&เมือง
อื่น
ที่อยู่ = "未知"
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
用于用户发布的各种信息过滤,带脏话过滤
ฟังก์ชั่นสาธารณะ 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)
เสื้อ=ล
สำหรับ i=1 ถึง l
c=asc(กลาง(str,i,1))
ถ้า c<0 แล้ว c=c+65536
ถ้า c>255 แล้ว t=t+1
ต่อไป
strLength=t
อื่น
strLength=เลน(str)
สิ้นสุดถ้า
ฟังก์ชันสิ้นสุด
ฟังก์ชั่นสาธารณะ ChkBadWords(Str)
ถ้า IsNull(Str) ให้ออกจากฟังก์ชัน
ดิม ไอ
สำหรับ i = 0 ถึง Ubound (BadWords)
ถ้าฉัน > UBound(rBadWord) แล้ว
Str = แทนที่(Str,BadWords(i),"*")
อื่น
Str = แทนที่(Str,BadWords(i),rBadWord(i))
สิ้นสุดถ้า
ต่อไป
ChkBadWords = Str
ฟังก์ชันสิ้นสุด
Checkstr ฟังก์ชั่นสาธารณะ (Str)
ถ้า Isnull(Str) แล้ว
ตรวจสอบStr = ""
ออกจากฟังก์ชัน
สิ้นสุดถ้า
CheckStr = แทนที่ (Str,"'","''")
ฟังก์ชันสิ้นสุด
'取得带端口的URL,推荐使用
คุณสมบัติรับ Get_ScriptNameUrl()
หาก request.servervariables("SERVER_PORT")="80" จากนั้น
Get_ScriptNameUrl="http://" & request.servervariables("server_name")&replace(lcase(request.servervariables("script_name")),ชื่อสคริปต์,"")
อื่น
Get_ScriptNameUrl="http://" & request.servervariables("server_name")&///&request.servervariables("SERVER_PORT")&replace(lcase(request.servervariables("script_name")),ScriptName,"")
สิ้นสุดถ้า
End Property
'检查Email地址有效性
ฟังก์ชั่น IsValidEmail (อีเมล)
ชื่อสลัว, ชื่อ, ฉัน, ค
IsValidEmail = จริง
ชื่อ = แยก (อีเมล "@")
ถ้า UBound(ชื่อ) <> 1 แล้ว
IsValidEmail = เท็จ
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
สำหรับแต่ละชื่อในชื่อ
ถ้า Len(ชื่อ) <= 0 แล้ว
IsValidEmail = เท็จ
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
สำหรับ i = 1 ถึง Len(ชื่อ)
c = Lcase(กลาง(ชื่อ, i, 1))
ถ้า InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 และไม่ใช่ IsNumeric(c) แล้ว
IsValidEmail = เท็จ
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
ต่อไป
ถ้าซ้าย(ชื่อ 1) = "." หรือขวา(ชื่อ 1) = "." แล้ว
IsValidEmail = เท็จ
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
ต่อไป
ถ้า InStr(names(1), ".") <= 0 แล้ว
IsValidEmail = เท็จ
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
i = Len(ชื่อ(1)) - InStrRev(ชื่อ(1), ".")
ถ้าฉัน <> 2 และฉัน <> 3 แล้ว
IsValidEmail = เท็จ
ฟังก์ชั่นทางออก
สิ้นสุดถ้า
ถ้า InStr(email, "..") > 0 แล้ว
IsValidEmail = เท็จ
สิ้นสุดถ้า
สิ้นสุดฟังก์ชัน
ฟังก์ชัน strLength(str)
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อต่อไป
สลัว WINNT_CHINESE
WINNT_CHINESE = (len("论坛")=2)
ถ้า WINNT_CHINESE แล้ว
สลัว l,t,c
สลัวฉัน
l=เลน(str)
เสื้อ=ล
สำหรับ i=1 ถึง l
c=asc(กลาง(str,i,1))
ถ้า c<0 แล้ว c=c+65536
ถ้า c>255 แล้ว
เสื้อ=t+1
สิ้นสุดถ้า
ต่อไป
strLength=t
อื่น
strLength=เลน(str)
สิ้นสุดถ้า
ถ้า err.number<>0 แสดงว่า err.clear
ฟังก์ชันสิ้นสุด
ฟังก์ชัน cutStr(str,strlen)
สลัว l,t,c
l=เลน(str)
เสื้อ=0
สำหรับ i=1 ถึง l
c=Abs(Asc(กลาง(str,i,1)))
ถ้า c>255 แล้ว
เสื้อ=t+2
อื่น
เสื้อ=t+1
สิ้นสุดถ้า
ถ้า t>=strlen แล้ว
cutStr=ซ้าย(str,i)&"..."
ออกเพื่อ
อื่น
ตัดStr=str
สิ้นสุดถ้า
ต่อไป
cutStr=แทนที่(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
เบราว์เซอร์สาธารณะ เวอร์ชัน แพลตฟอร์ม
Class_Initialize ส่วนตัว ()
เบราว์เซอร์ = "ไม่ทราบ"
รุ่น = "ไม่ทราบ"
แพลตฟอร์ม = "ไม่ทราบ"
ตัวแทนดิม
Agent=Request.ServerVariables("HTTP_USER_AGENT")
ตัวแทน=แยก(ตัวแทน,";")
ถ้า InStr(Agent(1),"MSIE")>0 แล้ว
เบราว์เซอร์ = "ไมโครซอฟต์ อินเตอร์เน็ต เอ็กซ์พลอเรอร์"
version=Trim(ซ้าย(แทนที่(ตัวแทน(1),"MSIE", ""),6))
ElseIf InStr(Agent(4),"Netscape")>0 จากนั้น
เบราว์เซอร์ = "เน็ตสเคป"
Dim tmpstr
tmpstr=แยก(ตัวแทน(4),"/")
version=tmpstr(UBound(tmpstr))
สิ้นสุดถ้า
ถ้า InStr(Agent(2),"NT 5.2")>0 แล้ว
แพลตฟอร์ม = "วินโดวส์ 2003"
ElseIf InStr(Agent(2),"NT 5.1")>0 จากนั้น
แพลตฟอร์ม = "วินโดวส์ XP"
ElseIf InStr(Agent(2),"NT 5.0")>0 จากนั้น
แพลตฟอร์ม = "วินโดวส์ 2000"
ElseIf InStr(ตัวแทน(2),"9x")>0 จากนั้น
แพลตฟอร์ม = "วินโดวส์ ME"
ElseIf InStr(Agent(2),"98")>0 จากนั้น
แพลตฟอร์ม = "วินโดวส์ 98"
ElseIf InStr(Agent(2),"95")>0 จากนั้น
แพลตฟอร์ม = "วินโดวส์ 95"
สิ้นสุดถ้า
'记录未知ตัวแทน
หาก Browser = "unknown" หรือ version = "unknown" หรือ platform = "unknown" แล้ว
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.เปิด lConnStr
lConn.Execute("ใส่ลงใน [ตัวแทน](UserAgent)ค่า('" & ตัวแทน & "')")
lConn.ปิด
ตั้งค่า lConn = ไม่มีเลย
สิ้นสุดถ้า
จบหมวดย่อย
จบคลาส
%>