ホームページ > バックエンド開発 > C++ > ASP.NETでユーザーの実際のIPアドレスを確実に取得するにはどうすればよいですか?

ASP.NETでユーザーの実際のIPアドレスを確実に取得するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-30 09:46:10
オリジナル
769 人が閲覧しました

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

asp.netアプリケーションでユーザーIPアドレスを正確に決定

課題:

Request.UserHostAddressを使用してユーザーのIPアドレスに直接アクセスすると、実際のマシンIPではなく、ユーザーのインターネットサービスプロバイダー(ISP)のIPアドレスが生成されることがよくあります。この制限は、ダウンロードアクセスを制御するなど、正確なIP識別を必要とするアプリケーションに重大な問題を提起します。

より堅牢なソリューション:

信頼できるアプローチには、

サーバー変数を活用することが含まれます。この変数は、ユーザーがプロキシサーバーまたはネットワークルーターの背後にいる場合でも、ユーザーのIPアドレスのより正確な表現を提供します。 HTTP_X_FORWARDED_FOR

コードの実装:

この方法を使用して真のIPアドレスを取得する方法を示すコード例を次に示します。

c#例:

vb.net例:
<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>
ログイン後にコピー

この改善された方法を実装することにより、ASP.NETアプリケーションは、ネットワーク構成に関係なく、一意のユーザーIPアドレスを確実に取得できます。 これにより、ダウンロード制限などの機能の正確なユーザー識別と制御が保証されます。

以上がASP.NETでユーザーの実際のIPアドレスを確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート