Currently I am using Request.ServerVariables["REMOTE_ADDR"] to get the IP from the client.
What guarantees I get when calling this Method. Or should I look in other ServerVariables as well?
Yes, it's safe. It is the source IP of the TCP connection and can't be substituted by changing an HTTP header.
ServerVariables("REMOTE_ADDR") is Always the Same. If your scripts use Request. ServerVariables("REMOTE_ADDR") to get the client's IP address, they will always show the same, internal IP address due to the load balancers used for hosting your site. You can get the client's remote IP using Request.
ServerVariables HTTP_X_FORWARDED_FOR is NULL when it is used to fetch the IP Address in ASP.Net using C# and VB.Net.
Found some really neat information on retrieving the client's IP address here.
Essentially, you should probably also pay attention to the Request.ServerVariables("HTTP_X_FORWARDED_FOR")
as well. This helps to identify the actual IP address if the end user is going through a proxy whereas the REMOTE_ADDR
attribute would be the address of the proxy...unless it is an anonymous proxy in which case, you would still just get the proxy address.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With