430 Stimmen

Wie bekomme ich die Client-IP-Adresse eines Benutzers in ASP.NET?

Wir haben Request.UserHostAddress, um die IP-Adresse in ASP.NET zu bekommen, aber dies ist normalerweise die IP-Adresse des Internetanbieters des Benutzers, nicht genau die IP-Adresse des Benutzers auf dem Gerät, der zum Beispiel auf einen Link geklickt hat. Wie kann ich die echte IP-Adresse bekommen?

Zum Beispiel steht in einem Stack Overflow-Benutzerprofil: "Letzte Kontoaktivität: Vor 4 Stunden von 86.123.127.8", aber meine Geräte-IP-Adresse ist etwas anders. Wie kommt Stack Overflow an diese Adresse?

In einigen Web-Systemen gibt es eine IP-Adressprüfung für bestimmte Zwecke. Zum Beispiel kann mit einer bestimmten IP-Adresse ein Benutzer alle 24 Stunden nur 5 Klicks auf Download-Links haben. Diese IP-Adresse sollte eindeutig sein, nicht für einen Internetanbieter, der eine große Anzahl von Kunden oder Internetnutzern hat.

Habe ich das richtig verstanden?

4 Stimmen

Sie tun in der Regel dasselbe und funktionieren nicht korrekt für gemeinsam genutzte IP-Adressen. In diesem Bereich kann nicht viel getan werden.

0 Stimmen

Was ist das Problem, das Sie hier lösen möchten, warum glauben Sie, dass Sie die IP-Adresse benötigen?

4 Stimmen

Ich habe eine Anwendung, die spezifische Link-Klicks überprüft, und ein spezifischer Benutzer (nach IP) kann den Link an einem Tag nicht mehr als 5 Mal klicken. Das Problem ist, ob Request.UserHostAddress für eine Gruppe von Benutzern unter einem ISP oder Netzwerk oder für einen bestimmten Benutzer ist.

-8voto

Versuchen Sie es:

using System.Net;

public static string GetIpAddress()  // IP-Adresse abrufen
{
    string ip = "";     
    IPHostEntry ipEntry = Dns.GetHostEntry(GetCompCode());
    IPAddress[] addr = ipEntry.AddressList;
    ip = addr[2].ToString();
    return ip;
}
public static string GetCompCode()  // Computernamen abrufen
{   
    string strHostName = "";
    strHostName = Dns.GetHostName();
    return strHostName;
}

0 Stimmen

Das gibt die Server-IP-Adresse zurück.

0 Stimmen

Es geht um asp.net, das ist eine Webanwendung, die auf einem Server läuft, nicht auf dem Computer des Benutzers.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X