在c_system_lib.asp的TTrackBack.Post()函数中加入以下代码:
'检查当前IP、Title、Url是否在1天内连续TB两次 by dlq
Set objRS=objConn.Execute("SELECT COUNT(*) FROM [blog_TrackBack] WHERE [tb_PostTime]>#"&DateAdd("d",-1,Now())&"# AND( [tb_IP]='"&IP&"' OR [tb_Title]='"&Title&"' OR [tb_URL] like '"&Left(URL,19)&"%' )")
If CInt(objRs(0)) >= 2 Then
objRS.close
Call returnTbXML("1天内一个地址禁止trackback两次以上,我怀疑你是spam,如有问题请给我blog留言。")
Exit Function
End If
objRS.Close
Set objRS=Nothing
Set objRS=objConn.Execute("SELECT COUNT(*) FROM [blog_TrackBack] WHERE [tb_PostTime]>#"&DateAdd("d",-1,Now())&"# AND( [tb_IP]='"&IP&"' OR [tb_Title]='"&Title&"' OR [tb_URL] like '"&Left(URL,19)&"%' )")
If CInt(objRs(0)) >= 2 Then
objRS.close
Call returnTbXML("1天内一个地址禁止trackback两次以上,我怀疑你是spam,如有问题请给我blog留言。")
Exit Function
End If
objRS.Close
Set objRS=Nothing
看见了吧,一天只让你tb一次,为了防止高级垃圾随时更换url的后缀,我限制了条件——取url只取前19位。
当然,我相信还是会有高级垃圾和那种执著卖力的家伙会一天tb一次,对于这种我也只好用更彻底更执著的办法,每天登录一次后台,专门来屏蔽你的域名,我屏蔽域名都是很彻底的,只屏蔽一级域名,二级域名根本不带考虑的,冤枉就冤枉了,谁让一只老鼠害了一锅汤啊。
以下是我已经屏蔽的域名:
