IP Ranges blocking for voices.occupyboston.org

I've installed the ip_ranges module on voices.occupyboston.org. We keep getting these spam posts from Raul\d+, originating from a set of Chinese IP Addresses. No disrespect intended to Raul, but I'm going to start blocking entire non-us ARIN ranges.

In admin/config, there are two options for blocking ip addresses


 * "IP address blocking". This is drupal's built-in facility for blocking single ip addresses.


 * "IP range bans". This comes from the ip_ranges module.

ip_range stores its blocks in a table called ip_ranges. If you accidentally lock yourself out, you can delete the offending row.

I've also made a small code change to ip_ranges, so that we log blocks.

diff --git a/sites/all/modules/ip_ranges/ip_ranges.module b/sites/all/modules/ip_ranges/ip_ranges.module index 7872de6..3129164 100644 --- a/sites/all/modules/ip_ranges/ip_ranges.module +++ b/sites/all/modules/ip_ranges/ip_ranges.module @@ -75,8 +75,10 @@ function ip_ranges_boot { * Prints a message and exits if access is denied. */ function ip_ranges_deny_access { + $ip_addr = check_plain(ip_address); + watchdog('user', 'blocked by ip-ranges: %ip', array('%ip' => $ip_addr)); header($_SERVER['SERVER_PROTOCOL'] . ' 403 Forbidden'); - print 'Sorry, '. check_plain(ip_address). ' has been banned.'; + print 'Sorry, '. $ip_addr. ' has been banned.'; exit; }

That's a hack. If ip_ranges works well for us, I'll make the logging configurable, and submit the enhancement to the module maintainers.