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:{
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!