Kesioncms过滤评论的敏感词


作者:author 添加日期:2012-05-29 [留言]


首先添加过滤的关键词组,这个地方需要你手动设置,若你希望在后台一并完成设置,则在数据库中添加一个字段即可。
在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
 
 

相关产品

 
 
 
首页 |  产品报价 | 网站地图 | 经销商


版权所有 违者必究 蜀ICP备05010098号 未经授权 禁止转载 地址:成都市一环路南二段6号
电话:028-85257669 85259337 传真:028-85259337 邮箱:cdpjm@163.com