如何防止网站垃圾留言评论
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
[p]可能很多自称是seo高手的“专家”们都有一个同样的“法宝”,那就是疯狂地在其他网站上留下大量的垃圾留言,垃圾评论,以便留下他们的链接。或许这在很久以前可能有用,随着se的反spam的技术不断的升级,现在再这样做简直是自找死路,无疑是给se一个惩罚你的理由。[br][br] 然而,这些高手们依然不知疲倦乐在其中,或机器自动留言,或人肉留言,总之,只要是可以留下一个链接的地方都留下了他们坚强的身影,他们才不管你的网站是什么类型的,走过路过都要进去评论一下。鉴于垃圾猛于虎的严峻形势,飘易博客甚至不得不将评论设置为需要审核才能显示。[br][br] 当然,我们也不是完全反对留言评论,web2.0需要网站和用户的互动,但要留言至少也要看下别人的文章,有感而发嘛,这是非常正常的交流沟通方式,我们非常欢迎这样的留言和评论。[br][br] 当然,我们需要反击,针对机器每秒几十几百的信息发布量,我们也要从技术手段上屏蔽它们。如何具体操作呢?提供几个可行有效的方法。[br][br] 1、判断该发布信息是否有可靠的来路。只要是自然人发布的,那么他一定是通过我们提供给用户的提交页过来的,一定有一个来路;如果是机器发布的,就不会有来路信息。[br][br]'判断来路,禁止外部提交[br]dim server_v1,server_v2[br]server_v1=cstr(request.servervariables("http_referer"))[br]server_v2=cstr(request.servervariables("server_name"))[br]if server_v1="" or instr(server_v1,"/add.asp")<=0 or mid(server_v1,8,len(server_v2))<>server_v2 then[br]response.write ""[br]response.end[br]end if[br][br] 注意,上面的/add.asp就是提交页面来源页。当然,机器也可以伪造来路,这就要结合以下方式一起对付了。[br][br] 2、验证码。验证码一直是对付机器垃圾留言的一个可行的方法。不同的验证码有不同的对付机器留言的能力,越复杂的验证码,机器越难破解。这需要在考虑用户的感受和对付机器之间选择一个平衡点。关于验证码的使用方法,我就不多说了,谷歌、百度里搜索下就会出现很多介绍。[br][br] 3、判断来源提交的时间。如果在提交页停留的时间太短,比如20秒,一般只要是个人,他打字的时间都不必这个少。举例说明,在用户打开页面(如add.asp)的时候,我们记下这个时间,在form提交表单里增加一个隐藏对象,如:[br][br][br][br] 然后,当用户写好留言评论后提交到具体处理页面(如addok.asp)的时候,我们获取当前时间,和add.asp里的这个intime1时间比较,如果这个时间差小于设定的时间,如20秒,则禁止留言,判断为机器。代码可这样写:[br][br]if datediff("s",request.form("intime1"), now()) < 20 then[br]response.write ""[br]response.end[br]end if[br][br] 通过以上三种方法可以屏蔽掉绝大部分的机器垃圾留言评论,如果还有大量的留言的话,那多半是人肉留言了。但是,我们又如何对付人肉留言呢?dreamsun也提供方法对付。[br][br] 方法很简单,就是通过记录用户的cookies以及ip来限制同一用户发表留言的数量。比如一天24小时内,只允许同一用户发表信息5条。我们可以通过以下方法实现。[br][br]<%'当用户每提交一次[br]if request.cookies("postnum")="" then[br]response.cookies("postnum")=1[br]response.cookies("postnum").expires=dateadd("h", 24, now()) [br]else[br]response.cookies("postnum")=request.cookies("postnum")+1[br]end if[br]if request.cookies("postnum") > 5 then[br]response.write ""[br]response.end[br]end if [br]%>[br][br] 通过以上的限制,人工发帖也得到了一定的限制。上面的方法是基于cookies判断,当然用户可以通过浏览器清空cookies,但这样增加了他们发垃圾帖子的难度,提高了门槛。我们还可以继续判断发布者的ip,通过同一个ip下发帖限制数量来达到我们的目的。在此,就不再扩展,大家可以自己设计如何判断ip来限制发帖的方法。[/p]
该文章在 2010/7/22 23:57:37 编辑过 |
关键字查询
相关文章
正在查询... |