Forum Moderators: coopster

Message Too Old, No Replies

Human Form spammer, best approach?

Someone keeps filling in my callback form

         

ms348work

9:30 am on Jul 7, 2006 (gmt 0)

10+ Year Member



Hi all

It was a very basic form with no validation as I wasn't very bothered. So then I added an email address field with validation on the domain name. Now they put in a valid email address (domain name anyway).

I'm going to record the ip address using gethostbyname. However, I want to get the actual hostname of the ISP so then I can just ban it. I've tried using gethostbyaddr($IP) and various things but my server doesn't seem to support it as it returns the IP address.

I am going to ignore this for the most part but I just wanted to put something in where I can ban certain hostnames and redirect them etc. Any ideas?

I was also interested in what approaches other people have taken?

Cheers

Manoj

eelixduppy

9:39 am on Jul 7, 2006 (gmt 0)



Welcome to WebmasterWorld ms348work,


Note: Your web server must be configured to create this variable. For example in Apache you'll need HostnameLookups On inside httpd.conf for it to exist.

Check here first, if possible, and make the necessary changes. Then try using gethostbyaddr [us2.php.net] or $_SERVER['REMOTE_HOST'] again to see what you get.

Good luck!

DanA

9:46 am on Jul 7, 2006 (gmt 0)

10+ Year Member



Are you sure you are spammed by humans? Automatic form filler robots can do the job and spam usually using an open proxy (ISP doesn't apply here!)- these robots don't follow a redirection thus a redirection to your actual form usually stops them.
You can use a whois query to find the IP range used by your spammer, but it may not be a good idea. It may ban actual visitors.
A lot of solutions can be found by searching through the forum.

eelixduppy

9:55 am on Jul 7, 2006 (gmt 0)



Good point DanA. One such thread is now featured on the homepage: [webmasterworld.com...]

ms348work

12:59 pm on Jul 7, 2006 (gmt 0)

10+ Year Member



It does appear to be a human. For example, there was no email address field before. Then I added one, with email validation, and the form was sent with a valid domain. They are always from the same geo-location, same provider (I use google analytics). Also when they filled in the email address it looks like they mis-spelt it compared to the previous one.

Assuming it is from a human i'll have to try a different approach.

IanKelley

10:34 pm on Jul 9, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



If it is in fact a human and they keep persisting, do a whois on their IP address yourself. No need to have PHP do it.

The whois will give you their ISP and, assuming their ISP isn't in Russia or China, they will do something about it if you contact their abuse department.

Gero_Master

12:21 pm on Jul 10, 2006 (gmt 0)

10+ Year Member



You can if you have access to the forms file and a PHP server, make a script that allows only 1 send per 24 hour perioid. Mail me if you would like to have the code made for you :)