本日志标题:[asp]简单的广告过滤处理方法        [2005-12-30]

BLOG一直被人在日志评论中链接广告。虽然加了验证码,使得广告机器发布广告的机会减少了;但还是有不少广告发布者手工来本BLOG发布。烦透了~!

总不想就这样让这些人强奸玷污着,加了一个判断直接过滤。大体流程是如下的:

1,本日志评论对公众是开放的,言论自由但不代表本BLOG意思,只做交流之用。

2,偶有广告,是否广告基本一看即知,最起码得含有他的网站地址连接吧。

3,好,既然你发广告,我不和你多说,先删除你的这个广告性质的评论,记下你的网址关键字。

4,下面自己写的小东西就来过滤了,不好意思了。



Function glvs(g_text,l_text)
    if instr(g_text,l_text)<>0 then
        response.Redirect ("http://www.cnbruce.com/test/bomb.html")
        response.end
    end if
End Function


其实主要就是instr()函数,它的意思是获得 l_text 在 g_text 中的位置。当然,我这里用来是检测 g_text 中是否含有 l_text(只要当不存在的时候,其位置才是0)。用在过滤中的意思就是,在接受的评论中是否含有已定义的过滤的字眼。如果含有,就表示你这个人怎么又来发广告了。好,让你直接跳转到“ http://www.cnbruce.com/test/bomb.html ”这个炸弹页面-_-!算是一个“毒丸计划”吧。

后来想想这招也太损了,干脆不跳转到炸弹页,跳转到我的其他站点吧,还能为我的那个站带来流量呢。:p

5,那么到底是哪些关键字要被过滤呢,当然是我记录下的曾在我的BLOG发布广告的一些关键字了。具体我是笨方法,一个个检测。


Function misini()
    call glvs(log_r_content,"六合彩")
    call glvs(log_r_content,"免费电影")
    call glvs(log_r_content,"junyuan")
    call glvs(log_r_content,"qn888")
    call glvs(log_r_content,"kaixin163")
    call glvs(log_r_content,"sodg")
    call glvs(log_r_content,"happyxc")
    call glvs(log_r_content,"51jiashi")
    call glvs(log_r_content,"kaixin163")
    call glvs(log_r_content,"lookjoke")
    call glvs(log_r_content,"7s8x")
    call glvs(log_r_content,"ejingda")
    call glvs(log_r_content,"gay-massage")
    call glvs(log_r_content,"honglian8")
    call glvs(log_r_content,"wowgoldstores")
    call glvs(log_r_content,"jk-999")
    call glvs(log_r_content,"ccwl")
    call glvs(log_r_content,"yl007")
    call glvs(log_r_content,"id863")
    call glvs(log_r_content,"yongrong")
    call glvs(log_r_content,"fubo-edu")
    call glvs(log_r_content,"printstrademark")
    call glvs(log_r_content,"72e")    
End Function


呵呵,这是我的BLOG已经过滤的广告关键字,都是在我BLOG发表带有连接的广告性质评论里面记录的。SO,如果你是广告发布者,当你发现你在输入了你的广告URL的时候会跳转到 http://www.dw8.cn 请不要诧异,因为我给你过滤了。

同样也请你不要生气,是被逼的-_-!(我相信,会有广告发布者看到本BLOG日志的)广告途径多的是,传统媒体才是王道,舍不得花钱在网络上乱发,中国互联网就是被你们给搞得乌烟瘴气的,不说了。。。

6,最终只要在日志评论插入记录之前调用一下该函数即可。



if log_r_content="" then
response.write("不能提交空白的评论")
response.end
else
call misini()
'............
'插入日志评论
'..............
end if



以上是我目前的方法,如果有人的BLOG也遇到我的这个情况,参考一下了。

过些日子在数据库里面加个过滤表,直接处理,省得每次都要修改这个文件还要下载上传:o


========================================================================

匆忙之际的乱文,竟然起了抛砖引玉的功效,以下是在经典讨论的结果
woochysean的解决方案


function glvs(s)
    dim bads,found,word
    bads = "六合彩,免费电影,junyuan,qn888,....."
    bads = split (bads,",")
    found = false
    for each word in bads
        if instr(s,word) then
            found = true
            exit for
        end if
    next
    glvs = found
end function

if log_r_content="" then
response.write("不能提交空白的评论")
response.end
else
if glvs(log_r_content) then
'发现广告
end if
'............
'插入日志评论
'..............
end if



[Edit on 2006-1-9 14:34:49 By cnbruce]

在百度搜索完整的[asp]简单的广告过滤处理方法内容,或者用Google搜索相关的更多内容

By [cnbruce] at 17:50:44 | 评论 [20] | 浏览 [35736] | TrackBack| 返回顶部

About Comments
我去试试
By [oursky] at 2005-12-30 18:39:00
情感层面支持,技术层面学习

以前帮哥们做的一个小网站,留言簿里80%是广告,头痛得要死
By [LightDRAGON] at 2005-12-30 22:34:49
广告确实是无孔不入啊,我前几天有一次一下子删了二、三十条,都是那些个垃圾人手工发的!真受不了了!
By [goaler] at 2005-12-31 1:05:14
帅!
By [小菜] at 2005-12-31 10:01:13
我的 六 合彩哦,连接到那里?[url=]www.cnbruce.com/test/bomb.html [/url]

over
By [ccdot] at 2005-12-31 11:11:38
楼上够无赖的了
By [bruce] at 2005-12-31 11:16:51
郁闷啊,现在走到那里满眼睛都是广告

大哥,我来试试~~~
呵呵
但是我的不是广告,是我的blog连接
西西(这样发了其实就是广告了,但是不是那些垃圾干的事情)
----------------------------------------
http://www.leesum.com/blog
By [leesum] at 2006-1-3 21:20:03
其实,能不能写一个自定义 广告词的程序能,比如广告词用“|”隔开,这样方便在后台控制要过滤的字词。
By [幸福的字典] at 2006-1-19 21:43:44
六 合 彩,六 合 彩,六 合 彩,六 合 彩,六 合 彩,呵呵,这样你过滤不掉了,怎么解决呢?
By [幸福的子弹] at 2006-1-19 21:45:12
其实我觉得你可以在删除某评论的时候
你就把那个评论中的自己指定的特定字符为标志串,并且以增量方式存入一个特定结构的文本里
下次谁发评论都去过一遍
为了加快速度,你可以给admin,poweruser以上直接不执行这种过滤
:)
一家之言
By [flashsoft] at 2006-2-6 10:25:35
巧,前几天我也用instr给dcshooter的评论做了过滤,呵,对付简单的spammer还挺有用 :)
By [poorfish] at 2006-2-13 18:05:59
还是用正则好,可避免中间放空格的给漏过滤
By [无呢称] at 2006-3-29 15:34:21
那个函数好像比较耗费资源
By [小虫虫] at 2006-4-9 20:38:21
请问一下这段代码放在哪个页面
By [anchen] at 2006-5-26 10:17:56
干脆直接把连接屏蔽了~~
By [yeal] at 2006-6-26 17:31:29
中国人的拆字法很牛的
By [Ikao] at 2006-6-26 23:32:04
<%
dim strA,strB,strc,isOK
strA = "test,you,fuck,money" '需要过滤的关键字内容
strB = "fasfaefwTestfajkewhfwiTuckjfksajfheyou" '待检查的内容
strc = "fasfaefwTestfajkewhfwiTuckjfksajfheyou"
isOK = False '判断是否含有待过滤内容,如果返回True即为含有,False就是没有
Function glvs(strA,strc)
dim RegExp
set RegExp=new RegExp
RegExp.IgnoreCase =False
RegExp.Global=True

dim i,j
j = ubound(split(strA,","))
for i=0 to j
RegExp.Pattern="("&split(strA,",")(i)&")"
if(RegExp.Test(strc))then
isOK=True
exit for
end if
next
set RegExp=Nothing
if isOK=True then
response.Redirect ("
http://www.cnbruce.com/test/bomb.html")
response.end
end if
End Function

%>
<%
glvs strA,strc
%>
By [zhuzl] at 2006-7-5 10:57:25
没搞懂撒
By [影火虫] at 2006-8-31 14:09:44
先用str=replace(str," ","")过滤空格.再用glvs(log_r_content)过滤广告.
By [2and1] at 2006-12-22 1:12:48
我就是来做广告的,你又咱样呢~~~
By [aaec] at 2008-9-5 0:24:48


Post a Comment
呢称: 验证码: 
禁止笑脸转换 禁止UBB | 缩放输入框:6 5 | [Ctrl+Enter提交](1000个字符限制)