As you know Akismet is a server-side spam filtering solution for Wordpress (WP) blogs. It works probably by wrapping a REST interface around an open source product like spam-assassin, which does bayesian classification of comments to try and figure out which are spam and which are real. Since it has a wide userbase, the statistical sample size is large enough for it to infer patterns that protect most of its users from most spam.
We can do better.
There are two prime problems with the way Akismet deals with recognized spam. First, it provides a centralized solution. If Akismet goes down, you will get a torrential amount of spam. The solution to partially ameloriate this problem is to add a quick DNS blacklist check on the incoming IP address. Why should you bother hitting the Akismet server without even doing a basic dns check? The second problem is that Akismet lets particular spammers keep on happily spamming your blog. Adding spam comments to the internal blacklist solves that problem.
There’s a also a potential problem with the way Akismet accesses the database. When it deletes all the old comments–which is does constantly–there’s a 20% chance for it to optimize the database. Instead, we want to try to delete all the really old spam, and optimize the table, every few hundred spams we get. In the new version, we delete old spam at a 0.2% rate.
You can download the new version of Akismet here: akismet.zip. Simply unzip and put into your wp-plugins folder as usual.
|This entry was posted on Saturday, September 23rd, 2006 at 3:38 pm and is tagged with open source product, incoming ip address, centralized solution, plugins folder, spams, accesses, server side, akismet, hacks, assassin, wp, interface, blog. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback.|