I know this sounds terrible, but I have a web app that has no users in the Philippines, but is constantly bombarded by spammers, carders testing cards, and other BS from there. I can see in the logs that they have ips in the Philippines and are initially finding my site via google.ph or other .ph sites.
I have pretty good filters and security checks in place, so they don't really cause much damage, but nonetheless, I'm really getting tired of it. They use up bandwidth, fill up my database, abuse logs, and security logs with crap, waste my time terming accounts, etc.
I know 99.999999999999999999999999999999% of Philippine citizens aren't spammers, and I can't just block every country that annoys me, but at this point, I think it's time to just kiss the Philippines good-by.
I know they can then spoof, but at least I can make them work for it a bit.
I know there are a few geoip services out there. Anyone know of any free or inexpensive services? Or any other way to filter out traffic from a specific country?
I'm running PHP on Apache 2.
Edit:
Regarding some of the answers:
Like I said, I have very good automatic security in place, I know people can come from other places, and I know that people in PH can spoof (though the ones that I am having problems with, may not be that technically able - they use desktop auto-browsing software and/or cheap data entry labor, as far as I can tell).
I'm also aware of the fact that I can't just block every country that annoys me.
However, PH gives me no benefit whatsoever. I have never made a dollar from there, but they have originated 85% of my problems over the last three years, and are nothing but a huge wasting time-suck for me.
I know blocking countries is not a great practice, and has many problems, but for this country, I will make an exception.
If you feel like telling me what a bad idea this is, please feel free to do so, but also consider that things change, I can always un-block later, and just because I block the one country as part of my overall security scheme, doesn't mean I have to block other countries later. Be a little flexible in your thinking...