MC, 13:32 piątek, 29.03.2013 r.
Ilustracja do artykułu: ASP.NET - Jak pobrać adres IP użytkownika (z uwzględnieniem proxy)

ASP.NET - Jak pobrać adres IP użytkownika (z uwzględnieniem proxy)

Notatka, w której pokażę fragment kodu pozwalający na uzyskanie adresu IP użytkownika, z uwzględnieniem proxy.

Jak otrzymać adres IP użytkownika odwiedzającego stronę?

Sprawa oczywiście jest dość prosta, bo wystarczy dostać się do odpowiednich zmiennych serwerowych, a przede wszystkim REMOTE_ADDR. Jako że chcemy jednak uwzględnić również przekierowania proxy, należy odpowiednio obsłużyć również zawartość zmiennej HTTP_X_FORWARDED_FOR. Poniższa funkcja obrazuje jak podejść do tego zagadnienia:
private string GetUserIPAddress()
{
string forwarded = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(forwarded))
{
return Request.ServerVariables["REMOTE_ADDR"];
}
else
{
return forwarded.Split(',').First();
}
}

To co wykonuje powyższa funkcja, można w skrócie opisać jako sprawdzenie, czy występują jakieś przekierowania i na podstawie odpowiedzi, zwracamy odpowiedni adres IP użytkownika.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: