This is the project page for my Bad Behaviour Log Reader plugin, which helps you out view the BB logs.

The readme for the plugin is reproduced here. 

The most current version of the plugin that I know of is 1.7, (Updated 20090104).

=== Bad Behaviour Log Reader ===
Tags: Bad Behaviour, Logs, antispam, reader
Requires at least: 2.2.1
Tested up to: 2.7
Stable tag: 1.7

This plugin allows you to view the full Bad Behaviour logs from within WordPress.

== Description ==

This plugin allows you to view the full Bad Behaviour logs from within WordPress.
It adds a couple of menu pages BBLR Options and BB Log Reader into the Options menu bar from where you can access the relevant functionality.

Since version 1.3 it allows the viewing of the log without the warnings, and (I think) should localise the times.

Bad Behavior plugin now has its own log reader within the admin interface, so there is less need for this now.
It pretty much comes down to which interface you prefer, and if you want the extra plugin..

== Installation ==

1. Upload `bblr.php` to the `/wp-content/plugins/` directory or to /wp-content/plugins/bad-behavior-log-reader/
2. Activate the plugin through the ‘Plugins’ menu in WordPress
3. Optionally set a “number of log entries per page” value in the Options -> BBLR Options menu.

Can also (optionally) be installed through the WordPress plugin installer.

== Frequently Asked Questions ==

What version of Bad Behaviour does this work with?

I have tested it with version 2.0.10 + 2.0.16, 2.0.23, 2.0.25 – It would work with any other version of Bad Behaviour that uses the same database table structure.

What’s the point?

It lets you view the logs that Bad Behaviour keeps for you without you having to leave WordPress
and examine your mysql database. Handy if you don’t know SQL or don’t want to leave the WordPress area.

What you choose to do with that information, is, of course, pretty much up to you.

I’ve noticed in more current (2.0.23) versions of Bad Behavior that there is a log reader included, so I probably will be developing this only for my own amusement, but there you go.

== Background Info ==

This plugin was originally developed by a chap called Simon Elvery on an old version of WP and BB and then updated by Jonathan Murray  to work with newer versions.   That was a while ago.  Since then I started to use WordPress (well, this weekend actually), installed Bad Behaviour, and thought “I really need to be able to see these logs without using phpmyadmin”.  I then decided to write a plugin that would do that, but did a bit of hunting around first and these guys’ plugins were what I found, so I expanded on them, and this is the result.

== Changelog ==

V1.0 Initial Release
v1.1 Moved main plugin page under Plugins in menu structure
Added link from activity box.
v1.3 Included checkbox for filtering out warnings
Localisation of time values.
v1.4 Only shows dashboard entry for authorised users.
Couple of bits of cleanup.
v1.5 Fix to location of plugin with auto-install.
Brought key info up to date.
v1.6 Various fixes, code cleanup, ready for WP 2.7
v1.7 Fix the uninstall and install bits.

Current Version –

Download the current version of BBLogReader (.zip format) (1.7)

Previous Versions –
BBLogReader (.zip format) (1.6)
BBLogReader (.zip format) (1.4)
BBLogReader (.zip format) (1.3)
BBLogReader (.zip format) (1.1)

Plugin Blog Entry.

There are 10 comments on this entry -

  1. Posted November 7, 2007 at 11:45 pm | Permalink

    Thank you, nice work and much better than searching DB-tables…

    Would be cool only to see the blocked ones in the backend, how do I change some lines of code to do so? Any idea?
    Fantastic to have that as a option 😉


  2. Posted November 8, 2007 at 8:48 am | Permalink

    I agree, that would be a useful option. I’ll try to look at it this weekend, shouldn’t be too difficult to filter them and add a check box.

  3. Posted May 2, 2008 at 2:57 pm | Permalink

    boje: for a Q&D hack, just change the select line to exclude key=00000000

    e.g. change:

    SELECT * FROM ‘.$table_prefix.’bad_behavior ORDER BY


    SELECT * FROM ‘.$table_prefix.’bad_behavior where `key` != “00000000” ORDER BY

    mrmist: here’s a patch for BBLR to display log entries in localtime rather than GMT. i guess you don’t notice the problem if you’re in the UK where localtime IS GMT.

    i would have preferred to mail it to you, but couldn’t find your email address. hope it survives the cut & paste into the comment form. if not, email me and i’ll send it as an attachment.

    — bblr.php.orig 2008-04-28 12:29:04.000000000 +1000
    +++ bblr.php 2008-05-02 23:15:37.000000000 +1000
    @@ -160,7 +160,7 @@
    $alternate = ($alternate == ‘Bisque’) ? ‘Aquamarine’ : ‘Bisque’;
    echo “”;
    echo “Client IP: {$entry->ip} “;
    – echo “Date: {$entry->date} “;
    + echo “Date: ” . strftime(“%Y-%m-%d %H:%M:%S”, strtotime($entry->date . ” GMT”)) . ” “;
    echo “Request URI: “;
    echo chunker($entry->request_uri, 20, 20);

  4. Posted May 2, 2008 at 6:08 pm | Permalink

    I really need to get around to working on this 😀

  5. Posted August 15, 2008 at 12:43 am | Permalink

    hi. Thanks for plugin



  6. Posted November 18, 2008 at 6:26 am | Permalink

    This is going to make my life easier. Been looking into some plugin to see what BB was doing because it says a certain # of access attempts were blocked in the last 7 days, but I did not know what that really meant. So thanks again that we don’t have to view database tables via SQL.

  7. Posted January 4, 2009 at 12:32 am | Permalink


    I installed your bblogreader V1.7 onto my WordPress V 2.7 blog running Bad Behavior V2.0.25 and activated the plug-in and set the options.

    There were no install issues other than the zip file with V1.7 did not contain its own directory folder, so it installed into the root of the wordpress plugins folder instead of its own plugin subfolder.
    I created a directory called “bblogreader” (not knowing if the name has to be something specific) and copied the php and other files into that folder….and activated, set the options, etc.

    I checked the fdirectory permission were set to the default directory “755” permissions, and the php to the default “644” permissions.

    Now, my problem is that when I try to view the log from the dashboard, I get a “Cannot load bblr.php.” error.

    Any ideas?


    • Posted January 4, 2009 at 11:09 am | Permalink

      Interesting. I’ll take a look. Did you install it from the zip here or automatically through the installer or the zip on I expect that this is an oversight on my part.

      Edit – Indeed it was, I forgot to build my zip file correctly. The zip has been refreshed now based on the one on the plugins directory. For info, the directory name needs to be bad-behavior-log-reader

  8. Posted January 4, 2009 at 11:17 pm | Permalink

    Working perfectly! Thanks for the quick response and fix.
    Nice, useful plug-in, thanks.

  9. Posted May 3, 2010 at 9:21 am | Permalink

    Could this plugin be expanded to have the log file written to the filesystem somewhere ?
    This would allow me to read it in to fail2ban and firewall the blocked IP addresses so they don’t bother me again for a chosen time.