asp.netアプリケーションで真のユーザーIPアドレスを取得
ASP.NETでは、実際のクライアントのIPではなく、を使用すると、中間サーバー(プロキシやロードバランサーなど)のIPアドレスが生成されることがよくあります。 これは、セキュリティまたは分析のために正確なIPアドレスを必要とするアプリケーションにとって問題です。
Request.UserHostAddress
より信頼性の高い方法では、
次のコードスニペットは、ユーザーのIPアドレスを効果的に抽出する方法を示しています。
HTTP_X_FORWARDED_FOR
vb.net
<code class="language-csharp">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"]; }</code>
これらの関数は、を優先し、最初のIPアドレスを抽出します。この変数が欠落している場合、それらは
に戻ります。 このアプローチは、ASP.NETアプリケーションでのIPアドレス取得の精度を改善し、より正確なユーザー識別とより良いIPベースのコントロールにつながります。以上がASP.NETでユーザーの実際のIPアドレスを確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。