Accurately indentify IP address from HTTP web request

Sometimes, it's important to be able to identify the IP address of visitors to your website. Possible scenarios are:-

  • Auditing purposes. Record IP addresses for important areas of your site such as registration or login.
  • Usage analysis. Get a better understanding of how your web site is used by recording IP addresses.
  • Enhance security. Restrict or deny access to sections of your web site based on IP address.

The Problem with Determining Host IP Addresses on Web Servers

HTTP is an application level protocol (OSI Level 7) as defined in the OSI* network model. An IP address is defined in OSI layer 3 (Network layer). Between layer 3 and 7, all types of issues can arise that make establishing the actual IP of a host connected by HTTP tricky.

One of the biggest challenges in determining an IP address from HTTP is the presence of proxy servers** between web server and host. A proxy server can change the IP of the original request making it difficult for a web server to determine the IP of the original host.


How our component determines IP

Proxy servers are the biggest challenge in determining an IP address using HTTP. We have therefore engineered a process that understands the way that most proxy servers work with IP. Our process will do its best to “see through” any changes made to IP by proxy servers.

We have been able to achieve close to a 99% accuracy in determining IP address regardless of intervening proxy servers. Of course, as we have no control over individual proxy server implementations / configurations, there will always be some inaccuracies in our component as due to “Non Standard” proxies.

We believe that, given the limitations of HTTP, our component is the most accurate way of determining an IP address from an HTTP request.