3

我正在尝试通过对 iis 上托管的页面的 http 请求获取客户端的 IP。

我调查过:

1) http://forums.asp.net/t/1780050.aspx/1

2)获取客户端IP地址:REMOTE_ADDR,HTTP_X_FORWARDED_FOR,还有什么有用的?

3)如何在 ASP.NET 中获取用户的客户端 IP 地址?

4)使用 C# 的客户端 IP

正如每个人所说的那样,没有万无一失的方法来获取客户端 IP,因为客户端可以在 NAT 之后,也可以伪造 IP 地址。

但是,我尝试了 REMOTE_ADDR、HTTP_X_FORWARDED_FOR 和 UserHostAddress。它们都返回服务器的 IP 而不是客户端(服务器与客户端位于不同的机器上),即 127.0.0.1 或服务器的 LAN IP (192.168.xxx.xxx)。我期待 HTTP_X_FORWARDED_FOR 的正确响应,因为它不受代理服务器的影响。

令人费解的是,当我将页面托管在与客户端相同的机器上时,即服务器在本地主机上,我能够获取客户端 ip(这显然等于服务器 ip)

IIS 中是否有任何设置需要配置才能使其正常工作?还是内部网中的其他问题?

4

0 回答 0