Block requests from open proxies

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

[ a similar message was posted to the "Webmaster General" board at ]

I wrote a Perl module that can be used to block HTTP requests from open
proxies. The intended purpose is to prevent bogus form submissions.

Before the request is further processed, the module grabs REMOTE_ADDR
and does the following:

* Takes a few ports that are commonly used by open proxies and lets Nmap
   determine which of those ports are open at REMOTE_ADDR.

* Attempts to use each of the open ports as a proxy, and if any of the
   requests would succeed, sends a 403 error and exits.

Once the module has been configured and installed, and assuming that
Perl is the programming language, all I need to do is inserting these
two lines in the beginning of the form processing script:

     use HTTP::ProxyTest;

I would appreciate your comments on both the approach as such and the
chosen solution.

Gunnar Hjalmarsson

Site Timeline