首先添加过滤的关键词组,这个地方需要你手动设置,若你希望在后台一并完成设置,则在数据库中添加一个字段即可。
在Comment.asp上段定义变量的地方我们定义过滤的变量
Dim delwords:delwords="口吃,药" &
#39;可以自己定义过滤的关键词,使用","分开
然后找到Sub WriteSave() 下边大约504行(因为已经加了上面的Dim delwords,行数+1)
添上过滤判断
&
#39;2012add过滤 by mbaun
If FoundInArr(delwords, C_Content, ",") = True Then
If Flag="NotAjax" Then
Response.Write "<script>alert(&
#39;留言失败!&
#39;);history.back();</script>"
Else
Response.Write("留言失败!")
End If
Response.End
End if
&
#39;add结束
这儿我们使用了一个FoundInArr函数,此函数非官方的FoundInArr,我们需要在本页末段定义函数。
上面完成的是发表留言判断,下面还有个盖楼(引用)提交,找到Sub QuoteSave()
在If Anonymous=1 Then上边一行我们添加如下代码
&
#39;2012add过滤 by mbaun
If FoundInArr(delwords, Content, ",") = True Then
KS.Die "<script>alert(&
#39;评论失败!&
#39;);</script>"
End if
&
#39;add结束
最后在页面末端End Function后我们定义函数FoundInArr
Function FoundInArr(strArr, strToFind, strSplit)
Dim arrTemp, i
FoundInArr = False
If InStr(strArr, strSplit) > 0 Then
arrTemp = Split(strArr, strSplit)
For i = 0 To UBound(arrTemp)
If InStr(LCase(Trim(strToFind)), LCase(Trim(arrTemp(i))))> 0 Then
&
#39;If LCase(Trim(arrTemp(i))) = LCase(Trim(strToFind)) Then
FoundInArr = True:Exit For
End If
NExt
Else
If LCase(Trim(strArr)) = LCase(Trim(strToFind)) Then FoundInArr = True
End If
End Function