Edgewall Software
Home
Trac
Trac Hacks
Genshi
Babel
Bitten
Home
Download
Documentation
Mailing Lists
License
FAQ
Search:
Login
Preferences
Help/Guide
About Trac
Wiki
Timeline
Roadmap
Browse Source
View Tickets
New Ticket
Search
Context Navigation
+1
Start Page
Index
History
Editing SpamFilter
Adjust edit area height:
8
12
16
20
24
28
32
36
40
Edit side-by-side
= Trac Spam Filtering = [[PageOutline(2-3)]] A plugin is being developed that will allow different ways to reject contributions that contain spam. This plugin requires the forthcoming Trac release [milestone:0.10]. It currently needs at least [3180], which has the necessary hooks for spam filtering to work. Current state: highly experimental and mostly untested :-P == Supported Filtering Strategies == === Regular Expressions === The [source:sandbox/spam-filter/tracspamfilter/filters/regex.py regex] filter reads a list of regular expressions from a wiki page named “BadContent”, each regular expression being on a separate line inside the first code block on the page, using the [http://docs.python.org/lib/re-syntax.html Python syntax] for regular expressions. If any of those regular expressions matches the submitted content, the submission will be rejected. === IP Blacklisting === The [source:sandbox/spam-filter/tracspamfilter/filters/ip_blacklist.py ip_blacklist] filter uses the third-party Python library [http://www.dnspython.org/ dnspython] to make DNS requests to a configurable list of IP blacklist servers. === Akismet === The [source:sandbox/spam-filter/tracspamfilter/filters/akismet.py akismet] filter uses the [http://akismet.com/ Akismet] web service to check content for possible spam. The use of this filter requires a [http://www.wordpress.com Wordpress] API key. === Bayes === ''TODO'' (The code in svn uses [http://spambayes.org SpamBayes], which is a logical choice. It would make sense to use a custom tokenizer, however, rather than the email-centric one that is included with [http://spambayes.org SpamBayes]. The bigger issue is that some form of training is required (e.g. the API could be extended so that (optionally) authenticated users (and the other filters) could report contributions as spam (using automatic training to assume that everything else is ham); however, this is a complex change). An alternative to this would be a script that could be periodically executed that would train all existing contributions as ham, and gather spam from an appropriate source. If you decide to continue with this in the future, please don't hestiate to ask [mailto:spambayes-dev@python.org spambayes-dev] for help. == Get the Plugin == The SpamFilter plugin is currently only available through Subversion: {{{ svn co http://svn.edgewall.com/repos/trac/sandbox/spam-filter }}} You can browse the source [source:sandbox/spam-filter here]. See TracPlugins for instructions on building and installing plugins. == Enabling the Plugin == If you install the plugin globally (as described [wiki:TracPlugins#ForAllProjects here]), you'll also need to enable it in [wiki:TracIni trac.ini] as follows: {{{ [components] tracspamfilter.* = enabled }}} ---- See also: TracPlugins, PluginList
Note:
See
WikiFormatting
and
TracWiki
for help on editing wiki content.
Change information
Your email or username:
E-mail address and name can be saved in the
Preferences
Comment about this change (optional):
Note:
See
TracWiki
for help on using the wiki.