Request.ServerVariables("REMOTE_ADDR") can be used to retrieve the IP address of the client machine. While clients connect internet via a proxy server, the above method only return the IP address of the proxy server, other than the REAL IP address of the client machine. In order to request the TRUE IP address of the client via the proxy server, you may use Request.ServerVariables("HTTP_X_FORWARDED_FOR"). One more thing, if the client does not connect the internet via a proxy server, then Request.ServerVariables ("HTTP_X_FORWARDED_FOR") will return a null value. Therefore, you can use this method in your program like this: Code: userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR") End if i.e. If client connect the internet via a proxy server, we take the value returned by HTTP_X_FORWARDED_FOR, otherwise we take the value returned by REMOTE_ADDR
Thats a good point. If it is going to retreive the original IP, why do people use all these proxy sites to hide their traces? So, if we are going to use the SERVER VARIABLE specified by you, we will be knowing there true IPs, isin't it? Or is there a different way these proxy sites work?
There are two types of proxies transparent and anonymous, transparent server sends over the original IP, where anonymous hides the original IP, the above code will only work for a transparent proxy!
Ok thanks, that clears up things. As a suggestion, it would be good to add this info about transparent and anonymous proxies in your original message.
Hi pradeep, Can you help me to suggest how to use anonymous proxies. how to implement such proxies in asp.net application. Thanks in advance. Jitesh programmer
This tutorial covers on fetching the exact client IP address. Here the author explains that using Request.ServerVariables("REMOTE_ADDR") can only bring the IP address of the proxy server. So the author finally decided to use...
This tutorial covers on fetching the exact client IP address. Here the author explains that using Request.ServerVariables("REMOTE_ADDR") can only bring the IP address of the proxy server. So the author finally decided to use Request.ServerVariable("HTTP_X_FORWARDED_FOR") to collect the true IP addresses of the client server.
hi i have a two type of sites say internet and intranet site can i redirect the user based on their connectivity? if so how can i do so both the web site are there in same server
this code is in working condition or not.please explain the procedure in detail how to retrieve tehe true Ip address and mail me my email id is manojbijnori12@gmail.com:snobby: