There is a service created by the company behind FaucetBox (
http://www.nastyhosts.com) which does something similar though perhaps with better accuracy. NastyHosts checks hostnames in addition proxies and TOR, and also reports suspicious IP addresses through it's implementation in the FaucetInABox script[1].
[1] index.php at line 1515
The problem here is that this protection doesn't block the bot/proxy/TOR access to your site. The validation of the IP just occurs during the claim action. I think that implementing an access block is more effective. When false users access your site false statics will flood your analytics and Adsense data...
I do prefer to use dynamic requests to proxies blacklist servers/API. Proxy servers can change their domains and IP all the time. Is hard to make an effective block just preventing their access from an IP.