我们常讨论说要取真实IP,不同场景所谓的真实IP含义不一样。

如你要根据客户端IP去判断客户所在区域,那么要记录客户的出口IP,这里的出口IP才是你所谓的真实IP。

如你要判断多个客户端是不是同一个,那么需要同时使用外网IP和内网IP才能区分:

  因为若仅使用内网IP,不同的内网有相同的内网IP;

  若仅使用外网IP,同一个内网的出口(外网IP)是同一个。

以上明白后,我们继续看:

HTTP请求记录的IP从内网到外网所有网关的IP都会记录在Header里

内网的IP依次记录在HTTP_X_FORWARDED_FOR,按,;或空格隔开。最外面的IP记录在REMOTE_ADDR。所以根据您的需求去取舍吧。

var REMOTE_ADDR = Request.ServerVariables["REMOTE_ADDR"];
var HTTP_X_FORWARDED_FOR = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

 

相关文章:

  • 2021-07-30
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-04-29
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-11
  • 2021-11-25
  • 2021-12-16
  • 2021-11-22
  • 2021-11-22
  • 2022-12-23
相关资源
相似解决方案