At e107 the devs are always looking at ways to improve your e107 website safety. As a trial I have developed DNSBL functionality. It's not a plugin, so if you upload it you will overwrite some e107 core files. The DNSBL package can be used with e107 v0.7.25 or v0.7.26svn.
What is DNSBL exactly? As Wikipedia states it: "A DNSBL (DNS-based Blackhole List, Block List, or Blacklist) is a list of IP addresses published through the Internet Domain Name Service (DNS) either as a zone file that can be used by DNS server software, or as a live DNS zone that can be queried in real-time."
The idea is as follows: in Admin Area > User Registration/Posting you will get two new preferences:
1. "Check IP address against DNS black list during sign-up" to switch the DNSBL checking on or off;
2. "Use DNS check list" selection box which can be blank, one of the supported DNSBL lists or 'All'.
Currently supported DNSBL's are: spamhaus, spamcop, sorbs and njabl.
When you do switch DNSBL checking on, but do not provide a DNSBL checker, the default 'Spamhaus' will be used.
If the DNSBL check is 'On', each time a new user is trying to sign up the IP address will be looked up at the specified DNSBL.
If the DNSBL returns the IP address as being registered, the sign-up will fail, and line will be added to the Admin Log that the signup was refused (with date/time stamp and mention of the IP address that was attempting to be signed up).
Credits go to Alexey A. Znayev from http://xbsoft.org who's release was the base of the dnsbl_handler.
NOTE: This is not a plugin; it is an experimental core addition and will overwrite some of your core files. However, if you do not want to use it at some point, you can easily adjust your e107 preferences and disable it. Based on the feedback on this the e107 dev team might implement it permanently in a future release.