Drupal has a nice Internal tool to block IP addresses. It is available in core with no additional modules required. It can be accessed via Configuration -> People -> IP Address Blocking.
But it is practically useless without any automation to control spammers as it requires each IP to be manually submitted by the admin.
And there are the suite of modules available for Drupal ranging from captcha to mollom - all of these target preventing form submission. While they do a good job in preventing the spammer from submitting forms on your site, the spam bots are still able to access your site/form.
And most of the times, there are some really dumb spam bots that do not bother whether they have been successful in the spam attempt. They do not realise that the same and they keep attempting to submit the same form repeatedly. While captcha, mollom, honeypot etc on your site are discarding these form submissions from bots, your site’s resources are being utilised to generate this form and show it again and again to the same bots thousands of times.
And the worst part is that many of these form pages are not really cached allowing capcha etc to function properly. This makes the condition even worse.
Have you ever wished there was a small module that just blocks a spambot completely after it either submits or, attempts to submit a form a dozen times times on your site?
So FBIP is here now!
It keeps a track of form submissions and if some user crosses a threshold that you specify, the user’s IP will be automatically blocked!
It is Leightweight. It does not add any additional tables to your site. It makes use of the Flood Control API available in the core of Drupal to keep a track of submissions per user.
You can choose between tracking either all forms on your site. Or specific form ids.
You can whitelist some IPs that you do not want to be tracked (Like your site administrators)
You can also choose to reset the IP bans at each cron run, if you wish to not to block any user permanently!
Beware Spammer, FBI(p) is watching you!