Three Strikes and CSPAM updated

January 5th, 2005

CSPAM, Three Strikes 1.1 and Three Strikes 1.2 Alpha have been updated to check for trackback spam. Please download them again to get the updated versions. Nothing special to be done, just replace your existing plugins.

Three Strikes 1.1 Download
Three Strikes 1.2 Alpha Download

The CSPAM plugin can be downloaded from the same link as has been privately provided to you through email. I take this opportunity to promote it again. If you would like to participate in the CSPAM project, please email me or leave a comment and I will send you the download link for the plugin.

Please report bugs.




  1. Nico says:

    A little buggy in 1.2 beta:

    Fatal error: Cannot redeclare train() (previously declared in /threestrikes12.php:100) in /bayes/trainfiltergood.php on line 16

  2. Mark says:

    That particular bug should be fixed in the download. Thanks for the report.

  3. Tony (2 comments.) says:

    I keep getting this error when posting comments. I’ve checked and deleted any whitespace in the php files but still get it. Have I missed something?

    Warning: Cannot modify header information – headers already sent by (output started at /wp/wp-content/plugins/bayes/class.naivebayesian.php:82) in /wp/wp-comments-post.php on line 37

  4. graham (2 comments.) says:

    I keep getting sent to the fbi site, whatever I type. This didn’t happen until I also installed ur preview of comments. I then got rid of that, but it’s still a problem.

    Any ideas? (I’ve de-activated it for the time-being, but given the number of spam this morning, I’d like to get it up again as soon as possible.)

  5. Mark says:

    Look for empty lines in your list of spam words, this is indicative of that. Plus, your IP might be in that list, which will cause that problem. Make sure you own IP does not show up in that list.

  6. graham (2 comments.) says:

    Well spotted! There was an empty line about half way down. Cheers.

  7. Jim (1 comments.) says:

    Hello, someone pointed me in this direction to perhaps help curb my spam issues. I just got done deleting over 3000 comments from my blog. Ack!

  8. Brendan Kehoe (1 comments.) says:

    I also ran into the problem of every comment, no matter what, was being rated a spam. I discovered that
    get_settings( ‘moderation_keys’ )
    was returning an empty array, but this

    //Strike: If there is a Spam Words Match, you have two strikes
    $words = explode(“\n”, get_settings(‘moderation_keys’) );
    foreach ($words as $word) {
    $word = trim($word);
    $pattern = “#$word#i”;
    if ( preg_match($pattern, $author) ) $strike += 1;

    ended up trying to match ‘##i’, which ended up incrementing $strike a bunch of times.

    As a workaround, I put this wrapper around it:

    //Strike: If there is a Spam Words Match, you have two strikes
    $modkeys = get_settings( ‘moderation_keys’ );
    if ( is_array( $modkeys ) )
    $words = explode(“\n”, $modkeys );


    Since that lookup for moderation_keys occurs more than once, there’s probably a much cleaner and orderly way to do this. But I’m running out the door, and needed comments to work again but I wanted to keep threestrikes up as well. :)

    Hope this helps,

  9. Mark says:

    Very nice catch, thanks. I will add it to the original code!

  10. Blips (1 comments.) says:

    I’m in the middle of changing from Movable Type to WordPress because of excessive spam atacks. I’m willing to be part of your test. Please send me the link for downloading it. Looks like you have the right thing going on. :)


  1. […] wat hij moet doen. Zelf gebruik ik een combinatie van twee plugins: Kittens Spam Words en Three Strikes. Three Strikes biedt sinds begin januari ook […]

Obviously Powered by WordPress. © 2003-2013

page counter