现在的位置: 首页 > 电脑相关 > 正文
spam详解【顾建伟个人博客】
2014年05月05日 电脑相关 ⁄ 共 4436字 暂无评论

最近博客老 是有垃圾评论,包括前文提到的顾建伟个人博客文章收到trackback回应也是来自垃圾评论,现在引进了一个专业术语 “SPAM”通过百度搜到来自 站长百科的详解

SPAM,最初是一个罐装肉的牌子。对于这个牌子名字的来源有很多解释,官方版本说,它是”Specially Processed Assorted Meat”特殊加工过的混和肉。这种SPAM肉有段时间非常普及,到了无处不在,令人讨厌的程度,后来(1970年)Monty Python剧团有个很流行的Sketch comedy(一种短小的系列喜剧)叫Spam,剧中两位顾客试图点一份没有SPAM的早餐,但不能得逞。于是,许多年后,Spam被用来称呼互联网上到处散布垃圾广告消息的现象。

目录

[隐藏]

SPAM的危害

搜索引擎营销中所说的SPAM是专门针对那些欺骗搜索引擎的信息。搜索引擎垃圾技术是利用不道德的技巧去提高自己搜索引擎上的排名。不诚实的网站管理员就是利用这样的手段去欺骗搜索引擎从而获得较高的排名。这样的做法会让你的网站在短期内排名得到提高,但是后果却是十分严重的。有可能导致搜索引擎把你的网站从他的数据库里永久删除

常用的SPAM方法

  • 隐藏文本
利用文本与背景色的相同来达到隐藏关键字的目的。这样,用户是看不到这样字,不影响用户的正常阅读,但是搜索引擎却一目了然。这是一种最常用的搜索引擎垃圾技术。
  • 重复关键字
经常与隐藏文本一起使用。但是这种做法会不页面的底部不断的以小号字重复关键字,或者把它隐藏在meta标签里面。这是最流行的搜索引擎垃圾技术。
  • 使用无关关键字
从不在他们的网站中使用一些热门的关键字,而是使用一些与他们网站无关的关键字。这样,有些人用这些冷门的关键字进行搜索时就会找到他的网站。但是这样做是完全没有用的,当访问者发现这个网站不是他们想要的内容的时候,他们就会立即离开。这样做既欺骗了搜索引擎也欺骗了访问者。
  • 隐藏标签
把关键字隐藏在html标签里面,如:style tags ,alt tags 等等。隐藏链接对一些搜索引擎来说也会被认为是搜索引擎垃圾技术,但另外一些则不是这样。
  • 相同或相似页面
不要复制页面(或门户页面),或者给这些相同页面不同的名字然后又提交到搜索引擎中。这是搜索引擎跟分类目录都明显反对的。
  • 页面交换技术
这是对搜索引擎访问时采用一个页面以提高在搜索引擎上的排名,而面对访问者的时候却采用另外一个页面。这样做也会在一时半刻得到不错的网站排名,但是后果是:一旦搜索引擎发现了,你的网站将会在他的数据库中永远除名。
  • 链接搜索引擎垃圾技术
搜索引擎会认为那些通过自助链接系统建立的链接为搜索引擎垃圾技术。
  • 无内容
网站没有专一的内容对于搜索者来说是垃圾网站。不合法的内容、复制的内容和那些全都是友情链接网页,对于搜索引擎来说也是搜索引擎垃圾技术。
  • 过度提交
每个搜索引擎都会限定一个网站提交网页的数量与提交的频率。在一个月之内不要向同一个搜索引擎提交多于一次(即只能提交一次),也不能向同一搜索引擎在一天之内提交多个页面。切记不要向他们提交门户页面。一定要根据搜索引擎的指导方针行事。
现在就wordpress防SPAM 的方法:【整理自网络】
WordPress 自带防spam 插件:AkismetWordPress自带的spam过滤插件Akismet,非常强大,可以过滤掉大部分垃圾评论。Akismet会对评论者和评论内容的关键字,评论者邮箱,链接地址做判断,确定是否要将评论列为待审批对象。 对所有 spam 类型都适用,但是会有很多漏网的spam.

WordPress 评论审核和黑名单

在 WordPress 后台 Settings > Discussion Settings 有两个输入框, 一个是评论审核, 一个是评论黑名单。 每行一词, 只要评论者名称或者内容出现这些关键字就会进行相应的处理。

这是个非常强大的功能,因为它的过滤是100%成功的。比如:现在挂名搞 SEO 的喜欢发spam,评论时会用 XX市SEO, XX州SEO这样的名称,所以我将 市seo,州seo 写进了黑名单。

以下是我的评论审核和评论黑名单关键字列表:

1.评论审核备用链接

2.评论黑名单备用链接

小墙

Willin Kan写的小墙工具,理论上可以100% 屏蔽机器人发出的 spam. 如果是自然人提交评论,小墙会在评论提交表单中加一个hidden变量, 如果后台检测不到这个变量,则认定为spam,可以选择需要审核, 也可以直接过滤掉。

如果对方知道你用的 hidden 变量或者使用虚拟点击, 就可以破掉小墙。但是 spam 本来就是小成本和以量取胜的事情, 除非与你与spammer 结仇了,我相信人家不会那么无聊来破你小墙。 而且机器人 spam 的数量占了绝大多数, 这个工具很有必要。

貌似Willin 现在不用WordPress 了,网站也正在维护,小墙代码我就贴在下面。使用方法很简单, 拷贝到 function.php 文件最后即可。 其中wall 是隐藏关键字,有需要的请自行更改 (不改也可以)。

class anti_spam {  //建立  function anti_spam() {   if ( !current_user_can('level_0') ) {    add_action('template_redirect', array($this, 'w_tb'), 1);    add_action('init', array($this, 'gate'), 1);    add_action('preprocess_comment', array($this, 'sink'), 1);   }  }    //設欄位  function w_tb() {   if ( is_singular() ) {    ob_start(create_function('$input','return preg_replace("#textarea(.*?)name=([\"\'])comment([\"\'])(.+)/textarea>#",    "textarea$1name=$2wall$3$4/textarea><textarea name=\"comment\" cols=\"50\" rows=\"4\" style=\"display:none\"></textarea>",$input);') );   }  }    //檢查  function gate() {   ( !empty($_POST['wall']) && empty($_POST['comment']) ) ? $_POST['comment'] = $_POST['wall'] : $_POST['spam_confirmed'] = 1;  }    //處理  function sink( $comment ) {   if ( !empty($_POST['spam_confirmed']) ) {    //方法一:直接擋掉, 將 die(); 前面兩斜線刪除即可.    //die();    //方法二:標記為spam, 留在資料庫檢查是否誤判.    //add_filter('pre_comment_approved', create_function('', 'return "spam";'));    /*    $is_ping = in_array( $comment['comment_type'], array('pingback', 'trackback') );    $comment['comment_content'] = ( $is_ping ) ?    "◎ 這是 Pingback/Trackback, 小牆懷疑這可能是 Spam!\n" . $comment['comment_content'] :    "[ 小牆判斷這是Spam! ]\n" . $comment['comment_content'];    */    // MG12 的處理方法    $is_ping = in_array( $comment['comment_type'], array('pingback', 'trackback') );    if(!$is_ping) {     die();    }   }   return $comment;  } } $anti_spam = new anti_spam();

计算前端处理时间

在输入框上方用 JavaScript 取一个时间戳作为全局变量,在提交表单的时候获取提交时间,两个时间相减,如果小于可能值,则视为机器人。判断为机器人的评论你可以按小墙的方式处理,也可以不处理 (不占用服务器资源,但不能记录 spam 信息)。

相对与小墙,这种方法更加可靠,但绝不是没有漏洞,只要spammer做个setTimeout延迟发布就破了。

时间戳

老掉牙的方机器人方法, 很实用, 但有最大的缺点: 用户体验不好。 要求访客多填一个很难观察的数字, 严重打压评论者积极性。WordPress 平台有很多这类插件可以用, 但我是不建议使用的。

消灭所有评论中的链接

很多年前阿瓦受人肉 spam 烦扰之后的做法: 将评论中所有链接去除。 目的应该是打消 Spammer 的积极性。 但在评论中还是有 spam, 因为作为低成本的 spammer, 或者根本就不会花时间去考虑是否值得发这个垃圾评论, 因为发布时间远小于去评估一个发布价值的时间。

这是多年前的做法, 或许那时没有更好的方法, 不得已而为之。 目前来看, 最好不要使用这个方法, 因为你不知道有多少人真的是为了发布者昵称上的链接而发一个评论, 而这个评论可能是有意义的, 应该保留这种积极性。

登录后发布评论

Denis 三年前跟我说, 他要求访客登录方可留评, 而用户可以通过 Twitter 或者微博登录他的博客。

当时我震惊了, 这不是等于自宫吗? 对于防 Spam, 或许用处不大, 对于那些人肉 Spam, 只是门槛高了点而已。 但会失去很多有用的评论。 而事实上, 这是个好方法, 通过微博登录博客的很多访客成为了 Denis 微博上的粉丝。 虽然博客看似冷清了, 但与读者的联系更加紧密了。

结语

WordPress 的博客众多,一直被黑帽们牢牢盯住,即便开了Antispam插件,很多博友可能还是每天收到成千上万的垃圾评论,spam成了站长们必须面对的问题。以上给的一些工具和方法,希望可以在大家选择工具时提供一点帮助。

本博客用了Akismet,评论审核和黑名单,以及小墙,小墙将机器人评论屏蔽掉后,WordPress 评论审核和黑名单功能过滤掉那些我认为有问题的内容,最后 Antispam帮我解决掉部分人肉的不存在含特殊关键字的评论。以前我只用 Antispam,每天spam 数量都是4位数的,现在小墙部分直接删除,一个月的spam 也就十几条,需要我手动去设为spam的评论也就几条。

文章来源:http://www.neoease.com/wordpress-anti-spam-methods/

通过以上的方法会屏蔽一些博客的垃圾评论,希望大家喜欢!

建伟

给我留言

留言无头像?



×