Take a look at what Maxmind's geolite lookup by IP can do for you. I have used Country, but maybe city will be good enough for you. There is an open source version.
This is not and can never be bulletproof, but might help you focus down by cities.
Not sure if that helps you.