Heim >Backend-Entwicklung >C++ >Wie bekomme ich zuverlässig die echte IP -Adresse eines Benutzers in ASP.NET?

Wie bekomme ich zuverlässig die echte IP -Adresse eines Benutzers in ASP.NET?

Barbara Streisand
Barbara StreisandOriginal
2025-01-30 09:46:10817Durchsuche

How to Reliably Get a User's Real IP Address in ASP.NET?

genau bestimmen Benutzer -IP -Adressen in ASP.NET -Anwendungen

Die Herausforderung:

Zugriff auf die IP -Adresse des Benutzers unter Verwendung Request.UserHostAddress ergibt häufig die IP -Adresse des Internetdienstanbieters (ISP) des Benutzers und nicht deren tatsächliche Maschinen -IP. Diese Einschränkung ist erhebliche Probleme für Anwendungen, die eine präzise IP -Identifizierung erfordern, z. B. diejenigen, die den Download -Zugriff kontrollieren.

Eine robustere Lösung:

Ein zuverlässiger Ansatz beinhaltet die Nutzung der HTTP_X_FORWARDED_FOR Servervariablen. Diese Variable bietet eine genauere Darstellung der IP -Adresse des Benutzers, selbst wenn der Benutzer hinter einem Proxy -Server oder einem Netzwerkrouter steht.

Code -Implementierung:

Hier sind Code -Beispiele, die zeigen

c# Beispiel:

<code class="language-csharp">protected string GetTrueIPAddress()
{
    var context = System.Web.HttpContext.Current;
    string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

    if (!string.IsNullOrWhiteSpace(ipAddress))
    {
        return ipAddress.Split(',')[0].Trim();
    }

    return context.Request.ServerVariables["REMOTE_ADDR"];
}</code>

vb.net Beispiel:

<code class="language-vb.net">Public Shared Function GetTrueIPAddress() As String
    Dim context As System.Web.HttpContext = System.Web.HttpContext.Current
    Dim ipAddress As String = context.Request.ServerVariables("HTTP_X_FORWARDED_FOR")

    If Not String.IsNullOrWhiteSpace(ipAddress) Then
        Return ipAddress.Split(","c)(0).Trim()
    End If

    Return context.Request.ServerVariables("REMOTE_ADDR")
End Function</code>
Durch die Implementierung dieser verbesserten Methode können Ihre ASP.NET -Anwendungen unabhängig von Netzwerkkonfigurationen zuverlässig eindeutige Benutzer -IP -Adressen erhalten. Dies stellt eine genaue Benutzeridentifikation und -steuerung für Funktionen wie Download -Beschränkungen sicher.

Das obige ist der detaillierte Inhalt vonWie bekomme ich zuverlässig die echte IP -Adresse eines Benutzers in ASP.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn