📄 cls.sift.asp
字号:
<%
Class Cls_Sift
't
Private ti
Private tSift,t_S,tIP,t_IP,tMyIP,tSiftIP
'信息过滤器
'ClassSift 0通过 1垃圾 2IP锁定
Function ClassSift(tTit,tCon,tTel,tEmail,tQQ)
If IPSift() = 1 Then ClassSift = 2:Exit Function
If SiftStr(tTit,"标题") = 1 Or SiftStr(tCon,"内容") = 1 Or SiftStr(tTel,"电话") = 1 Or SiftStr(tEmail,"邮箱") = 1 Or SiftStr(tQQ,"QQ") = 1 Then ClassSift = 1:Exit Function
If WRMPS.CheckExp("(([0-9]|[0-9]|[零,一,二,三,四,五,六,七,八,九])\W*){7,}",tTit) Or WRMPS.CheckExp("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",tTit) Or WRMPS.CheckExp("^([0-9]|[0-9]|[零,一,二,三,四,五,六,七,八,九]|[ ,-])*$",tTit) Or WRMPS.CheckExp("^([0-9]|[0-9]|[零,一,二,三,四,五,六,七,八,九]|[a-z]|[A-Z]|[A-Z])*$",tTit) Then ClassSift = 1:Exit Function
If WRMPS.CheckExp("\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*",tCon) Or WRMPS.CheckExp("^([0-9]|[0-9]|[零,一,二,三,四,五,六,七,八,九]|[ ,-])*$",tCon) Or WRMPS.CheckExp("^([0-9]|[0-9]|[零,一,二,三,四,五,六,七,八,九]|[a-z]|[A-Z]|[A-Z])*$",tCon) Then ClassSift = 1:Exit Function
If tEmail <> "" Then If WRMPS.CheckExp("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$",tEmail) = False Then ClassSift = 1:Exit Function
If tTel <> "" Then If WRMPS.CheckExp("(^(0\d{2,3})?(-|\s)?(\d{7,8})(-(\d{2,4}))?$)|(^(\+86)?(\s+)?((13)|(15))(\d{9})$)",tTel) = False Then ClassSift = 1:Exit Function
If tQQ <> "" Then If WRMPS.CheckExp("^([0-9]|[0-9])*$",tQQ) = False Then ClassSift = 1:Exit Function
If ClassSift = "" Then ClassSift = 0
End Function
'内容过滤
Function SiftStr(tStr,tType)
SiftStr = 0
tSift = WR_ClassAD(5)
If tSift = "" Or IsNull(tSift) or tStr = "" or IsNull(tStr) Then Exit Function
tSift = Split(tSift,vbCrLf)
For ti = 0 To UBound(tSift)
If SiftStr > 0 Then Exit For
If tSift(ti) <> "" Then
t_S = Split(tSift(ti),"|")
Select Case tType
Case "标题"
If t_S(0) = "标题" Then SiftStr = DisSift(tStr,t_S(1),t_S(2))
Case "内容"
If t_S(0) = "内容" Then SiftStr = DisSift(tStr,t_S(1),t_S(2))
Case "电话"
If t_S(0) = "电话" Then SiftStr = DisSift(tStr,t_S(1),t_S(2))
Case "邮箱"
If t_S(0) = "邮箱" Then SiftStr = DisSift(tStr,t_S(1),t_S(2))
Case "QQ"
If t_S(0) = "QQ" Then SiftStr = DisSift(tStr,t_S(1),t_S(2))
End Select
End If
Next
If SiftStr = "" Then SiftStr = 0
End Function
Function DisSift(tStr,tTerm,tString)
tString = Replace(tString," ","")
Select Case tTerm
Case "包含"
If Instr(tStr,tString) > 0 Then DisSift = 1
Case "等于"
If tStr = tString Then DisSift = 1
End Select
End Function
'IP过滤
Function IPSift()
IPSift = 0
tMyIP = Request.ServerVariables("REMOTE_ADDR")
tIP = WR_ClassAD(4)
If tIP = "" Or IsNull(tIP) Then Exit Function
t_IP = Split(tIP,vbCrLf)
Select Case WR_ClassAD(3)
Case 0 '白名单
IPSift = 1
For ti = 0 To UBound(t_IP)
If t_IP(ti) <> "" Then
If t_IP(ti) = "*.*.*.*" Then IPSift = 0
If IPSift = 0 Then Exit For
If Instr(t_IP(ti),"*") > 0 Then
tSiftIP = Replace(Replace(Replace(t_IP(ti),"*",""),"...","."),"..",".")
If Len(tMyIP) >= Len(tSiftIP) Then
If Left(tMyIP,Len(tSiftIP)) = tSiftIP Then IPSift = 0
End If
Else
If tMyIP = t_IP(ti) Then IPSift = 0
End If
End If
Next
Case 1 '黑名单
For ti = 0 To UBound(t_IP)
If t_IP(ti) <> "" Then
If t_IP(ti) = "*.*.*.*" Then IPSift = 1
If IPSift > 0 Then Exit For
If Instr(t_IP(ti),"*") > 0 Then
tSiftIP = Replace(Replace(Replace(t_IP(ti),"*",""),"...","."),"..",".")
If Len(tMyIP) >= Len(tSiftIP) Then
If Left(tMyIP,Len(tSiftIP)) = tSiftIP Then IPSift = 1
End If
Else
If tMyIP = t_IP(ti) Then IPSift = 1
End If
End If
Next
End Select
If IPSift = "" Then IPSift = 0
End Function
End Class
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -