Hi, Is there a script that would allow me to detect if the visitor is using a proxy or not. I want to prevent my signup page from been used by proxy users. I know that there are hundreds of proxies around, but anything is better than the 2500 'spam' signups I get a day. I use http://recaptcha.net/ on many pages but the signup process spans over 4 pages, so it cannot be used. Any suggestions? FFMG
<?php if (isset($_SERVER['HTTP_X_FORWARDED'])) { echo "You are behind a proxy!"; } else { echo "No proxies detected!"; } ?> PHP: However, not everything can be detected
I already said - not everything can be detected .. I know that there are a few ISP's where your connection goes through a proxy server ( unique IP, unique user, but .. forwarded .. ) !
I think the only way to do it is to compare against a list of known public proxies. Otherwise you have two problems: 1) You exclude legitimate users who are connecting through proxies at their workplaces, etc. 2) You fail to detect the majority of proxies, which don't add any header to advertise their role in the transaction.
Ideally I would query their IP to a database of proxies. That way I could easily find the proxies. I cannot really rely on the headers that are been passed. FFMG
Because, for that you will need exact database of proxies, and it is very difficult to find such a database.