簡體   English   中英

當用戶運行托管 IIS 鏈接時,如何在 asp.net 中獲取客戶端 IP 地址

[英]How to get the client IP address in asp.net when user runs hosted IIS link

我在 IIS 中托管了我的代碼,當任何用戶使用我的托管鏈接登錄我的應用程序時,我想獲取用戶 Ip。 例如,如果 10 個不同的用戶從 10 個不同的系統訪問我的鏈接,我想在 asp.net c# 中獲取所有這 10 個不同的 IP 地址。 相同的代碼是否會同時帶來服務器和 IP 地址。我正在使用 Asp.net 4.5 -c#

可能是其中之一:

HttpContext.Current.Request.ServerVariables.Item("REMOTE_HOST")
HttpContext.Current.Request.ServerVariables.Item("REMOTE_ADDR")

或者...

HttpContext.Current.Request.ServerVariables.Item("X-Forwarded-For")

...如果您的服務器位於代理后面。 請注意,最后一個很容易被偽造(並且 IP 也是可偽造/可更改的),所以不要依賴它來處理與安全相關的任何事情

您可以通過以下代碼獲取客戶端 IP:

HttpContext.Current.Request.UserHostAddress

你可以像這樣得到你的 IP 地址:

var remoteIpAddress = request.HttpContext.Connection.RemoteIpAddress;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM