Maison > développement back-end > C++ > Comment puis-je récupérer de manière fiable l'adresse IP réelle d'un utilisateur dans ASP.NET?

Comment puis-je récupérer de manière fiable l'adresse IP réelle d'un utilisateur dans ASP.NET?

DDD
Libérer: 2025-01-30 09:51:11
original
573 Les gens l'ont consulté

How Can I Reliably Retrieve a User's Real IP Address in ASP.NET?

Obtention de la véritable adresse IP utilisateur dans les applications ASP.NET

dans asp.net, directement en utilisant Request.UserHostAddress donne souvent l'adresse IP d'un serveur intermédiaire (comme un proxy ou un équilibreur de charge), et non l'IP du client réel. Ceci est problématique pour les applications nécessitant des adresses IP précises pour la sécurité ou l'analyse.

Une méthode plus fiable implique la vérification de la variable de serveur HTTP_X_FORWARDED_FOR. Cette variable, lorsqu'elle est présente, contient l'adresse IP du client d'origine, en particulier dans les scénarios avec des proxys ou des équilibreurs de charge. Cependant, il pourrait répertorier plusieurs IPS.

Les extraits de code suivants montrent comment extraire efficacement l'adresse IP de l'utilisateur:

C #

1

2

3

4

5

6

7

8

9

10

11

12

protected string GetClientIpAddress()

{

    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"];

}

Copier après la connexion

vb.net

1

2

3

4

5

6

7

8

9

10

Public Shared Function GetClientIpAddress() 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

Copier après la connexion

Ces fonctions hiérarchisent HTTP_X_FORWARDED_FOR, en extraction de la première adresse IP. Si cette variable est manquante, ils retombent à REMOTE_ADDR. Cette approche améliore la précision de la récupération d'adresse IP dans vos applications ASP.NET, conduisant à une identification des utilisateurs plus précise et à de meilleurs contrôles basés sur IP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal