joycie
10-02-2009, 12:26 PM
I wonder if anyone know how I could block ip from Proxy servers from accessing my site?
Many thanks in advance.
djr33
10-03-2009, 02:30 AM
Blocking an IP can be done with .htaccess, or other methods.
However, for all of this you will need a list of IPs to block.
You can generate the list automatically if they do something you can track, such as visiting a certain page, or filling out a form incorrectly (like a bot-check).
But if you can't get that list automatically then you will need to make it yourself somehow.
Regardless, there is no way to know what IPs are proxies, because a proxy is just a way to forward an IP. Basically it's like mailing a letter to your friend, then they take it out and mail it again, and it looks like the letter came from your friend. There is no way for the final recipient to know where it originally came from, unless: 1. they ask your friend (that is-- you could see if the proxies list the IPs they use-- not that they will... that would defeat the whole point), or 2. there is something obvious about the letter that you can identify.
Anyway, the only solution here is to block troublemaking IPs (like if they are sending spam and you can gather those IPs), or to do a google search for "proxy IP address list" and see if you happen to find something, then block the IPs on that list.
In theory there is one test for proxies:
You can force something to go directly to the user. One way do try this is with plugin content. A flash element or Java applet can force the user to interact directly with your server, like when they load extra images or submit high scores in a game, after the initial load of the content. (This works because it requires a direct connection with the server.) You might be able to attempt this with Ajax as well, because that would be the browser requesting a page from your server, rather than routing it through the normal ways a proxy works.
Proxies vary, however, and some can completely cover a connection seemlessly, while others are looser and just reroute links and content through their server. For "anonymous" sites that's more the case, but they are fairly good at rerouting all activity.
So unfortunately the short answer is no, not really.
If you are having specific trouble because of proxies, though, you might be able to work around it another way, such as, for example, making everyone register before using a certain page on your site, etc.
Also, in the big picture remember that IPs are not that reliable for identification. They are entirely reliable for one session of use, because they identify the connection. But each time the computer connects to the internet the IP may change (true every time for dialup, and now with broadband less common but still IPs do rotate every couple days or so, depending on the service provider).
Users can also use other connections (like to vote twice in a poll-- here it's best to have user accounts, rather than one vote per IP), and also the "bad" IP may rotate on to a legitimate user. If your site doesn't get many visitors that won't happen often, but for a site like google it must happen every day.
jscheuer1
10-03-2009, 06:20 AM
I bow to your wisdom here, djr33 (see previous post in this thread by djr33). However, in addition to what you mention, I am wondering if the OP meant:
Can I block the IP's of proxy servers?
Of course (as you say) one cannot block people or bots from using proxies to access your site. But I'm sure one could generate or manually compile (as you mention) a list of proxy server IP's and block those - thus ensuring that anyone who gets to your site came from their own IP, or at least a proxy server that you don't know about.
joycie
10-03-2009, 08:23 AM
Thanks to djr33 and John for your kind response.
I have just googled and found the following site which may be useful.
How to Block Proxy Servers via htaccess
http://perishablepress.com/press/2008/04/20/how-to-block-proxy-servers-via-htaccess/
Powered by vBulletin® Version 4.2.2 Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.