Powered by MediaWiki
Personal tools

CreatingAntispamPlugin

From b2evolution manual

Revision as of 03:20, 3 May 2006 by Blueyed (Talk | contribs)
Jump to: navigation, search

An Antispam Plugin is a plugin that implements methods to prevent/fight back at spam.

Creating an Antispam Plugin is the same as creating a "normal" plugin. This page only handles topics and introduces methods that are common to Antispam plugins.

Feedback spam

Your plugin should implement the method GetSpamKarmaForComment(). This gets passed the following values in the $params function parameter array:

  • "Comment": the comment object

The following values are interesting if you want to skip your test:

  • 'cur_karma': current karma value (cur_karma_abs/cur_karma_divider)
  • 'cur_karma_abs': current karma absolute value
  • 'cur_karma_divider': current divider (sum of weights)
  • 'cur_count_plugins': number of Plugins that have already been asked

Your plugin should return an integer value between -100 and 100, where -100 means "it's absolutely no spam" and 100 means "I'm damn sure this is spam.". If you don't want to return a spam probability value (e.g. because cur_karma is already above a certain value), just return NULL.


For example:

Step1:
- if domain ends with '.info'   =>  return 20
- if domain ends with '.biz'    =>  return 30
- no match                      =>  return 0
Step2
- if domain contains 'search'   =>  return 20
- no match                      =>  return 0
Step3
- if full url contains '-anal-' =>  return 80
- if full url contains 'anal'   =>  return 20
- no match                      =>  return 0
Step4
- ..

The core then decides upon the results of

$karma_abs / $karma_divider

what to do with the comment. Your plugin provides a part of $karma_abs and $karma_divider is the total weight of the antispam plugins, which can be setup in Antispam Settings tab.