如何防止垃圾留言泛滥

随着网络营销的日益火爆,各种渠道的宣传方式也犹如雨后春笋般冒了出来,其中又以日益泛滥垃圾留言为代表,那么如何防止垃圾留言泛滥,下面听听在线留言系统专家,留言宝给出的5条建议:

1.使用robots.txt文件

留言宝发现,绝大部分的垃圾留言,都是由程序通过搜索引擎挖掘,所以通过使用robots.txt文件屏蔽自己留言链接,可以明显降低被垃圾留言攻击几率,其robots.txt防止搜索引擎索引垃圾链接方法:

Disallow: /*?*
Disallow: /?*

屏蔽带有?的动态链接(如果你网站都是静态可以这么写)

2、设置留言提交的间隔时间

如果是正常的访客的话,一定会有打字的时间,下面我们可以通过设置留言提交间隔时间来规避垃圾留言,在form提交表单里增加一个隐藏对象,如:
<input name=”intime1″ type=”hidden” value=”<%=Now()%>”>

然后,当用户写好留言评论后提交到具体处理页面(如addok.asp)的时候,我们获取当前时间,和add.asp里的这个intime1时间比较,如果这个时间差小于设定的时间,如20秒,则禁止留言,判断为机器。代码可这样写:
If DateDiff(“s”,request.form(“intime1″), Now()) < 20 then
response.write “<SCRIPT language=JavaScript>alert(‘您的留言速度太快了吧,禁止留言!’);”
response.write “this.location.href=’vbscript:history.back()’;</SCRIPT>”
response.end
end if

3、增加留言来路判断

留言宝发现,只要是正常访客发布的,那么他一定是通过我们提供给用户的提交页过来的,一定有一个来路;如果是机器发布的,就不会有来路信息。

'判断来路,禁止外部提交
dim server_v1,server_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if server_v1="" or instr(server_v1,"/add.asp")<=0 or mid(server_v1,8,len(server_v2))<>server_v2 then
response.write "<SCRIPT language=JavaScript>alert('来源非法,禁止外部提交!');"
response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
response.end
end if

注意,上面的/add.asp就是提交页面来源页。当然,机器也可以伪造来路,这就要结合以下方式一起对付了。

相信通过以上三种方法可以屏蔽掉绝大部分的机器垃圾留言评论,如果还有大量的留言的话,那多半是人肉留言了。但是,我们又如何对付人肉留言呢?留言宝也提供方法对付。

方法很简单,就是通过记录用户的cookies以及IP来限制同一用户发表留言的数量。比如一天24小时内,只允许同一用户发表信息5条。我们可以通过以下方法实现。

<%'当用户每提交一次
if request.cookies("postnum")="" then
response.cookies("postnum")=1
response.cookies("postnum").expires=DateAdd("h", 24, Now())
else
response.cookies("postnum")=request.cookies("postnum")+1
end if
if request.cookies("postnum") > 5 then
response.write "<SCRIPT language=JavaScript>alert('今天留言次数超过限制,禁止留言!');"
response.write "this.location.href='vbscript:history.back()';</SCRIPT>"
response.end
end if
%>

通过以上的限制,人工发帖也得到了一定的限制,防范垃圾留言也会有比较不错的结果了,在此,如果你觉得上述代码工作量太大,建议使用免费在线留言系统,留言宝(www.liuyanbao.net)创新拦截垃圾留言机制,精准率可达98%以上。