Akismet flagging lots of valid replies/topics as spam HERE
-
Just a note, sam or whoever: _ck_ and I have been rescuing many posts per day from the akismet moderated queue. I think I just restored 6 or 8, from the past 24 hrs. This has been happening a lot most recently, maybe the last 5 days. Thanks.
-
If it’s happening here, I bet it’s happening on wordpress.org too so hopefully they will get to the bottom of it. I suspect spammers must have clogged up their algorithms with lots of garbage on purpose, causing lots of false positives.
It’s also happening at BuddyPress.org. Has been for about 3 weeks that I know of.
I know I’ve read somewhere since I noticed it, that the Akismet team is working on reducing false positives with a new adaptive algorithm of some kind. Sorry I have no more details than just a partial memory that I could be fabricating at this point haha…
Anyhow, I can confirm this is happening on our end also.
Unfortunately all Graham/Bayesian algorithms are doomed to fail, spammers have learned how to defeat even the best of them.
The best way to detect is counting the number of links in a post (in html or plain text) and holding any messages with more than 3. Of course they will adopt after many sites start doing that.
I am working on an advanced module for Human Test that will also check these databases, though some require membership:
fSpamlist
StopForumSpam
Sorbs
Spamhaus
SpamCop
ProjectHoneyPot
Bot Scout
DroneBL
It’s too “expensive” (in time and connections) however to check all of them on an active site for each post, so I’ll probably limit it to just registration, and maybe the first few posts a member makes.
Here’s a mini-plugin that will allow higher roles to skip akismet, if you turn the throttle bypass on for any member, they will also bypass akismet with this:
<?php
/*
Plugin Name: Skip Akismet
Description: Allow moderators, admin and specified roles to bypass Akismet filter
Author: _ck_
*/
// add any other custom roles to this list
$skip_akismet=array('moderator','administrator','keymaster');
add_action('bb_init','skip_akismet');
function skip_akismet() {
global $bb_current_user,$bbdb;
if (empty($bb_current_user->ID)) {return;}
$capabilities=$bbdb->prefix."capabilities";
$role=reset(array_keys($bb_current_user->data->$capabilities));
if (in_array($role,$skip_akismet) || bb_current_user_can('throttle') || bb_current_user_can('moderate')) {
remove_action( 'pre_post', 'bb_ksd_check_post', 1 );
remove_filter( 'bb_new_post', 'bb_ksd_new_post' );
remove_filter( 'pre_post_status', 'bb_ksd_pre_post_status' );
}
}
?>
- You must be logged in to reply to this topic.