很多站长都会遇到这个问题。网站经过CDN加速后,统计分析工具提供的IP地址大部分都不是真实的IP地址。
这是因为使用CDN网络加速后,所有用户请求都将通过CDN边缘节点访问。如果边缘节点没有缓存,就会向客户源服务器发出请求,因此无法通过之前的方式获取最终用户的IP地址。
如果站长需要获取终端用户IP,可以根据网站编写的脚本语言选择以下代码。
PHP:
$ user _ IP
ASP:
Java:
string src IP request . get header;
C#:
字符串srcIp请求。头[" X-Real-IP "];
Asp.net:
如果使用ServerVariables获取参数,因为ServerVariables有编码和解码的过程,所以应该使用HTTP_Cdn_Src_Ip获取变量,比如:
结果HttpContext。current . request . server variables[" HTTP _ X-Real-IP "];
另外,老刘的博客提醒各位站长,需要注意的是,以上代码需要切换后才能生效。如果不进行切换,可能会导致IP获取错误。当然,需要购买cdn加速的站长也可以参考老刘博客之前的文章《CDN国内/国际加速流量套餐0.06元/GB起,续费长期享受5折优惠》。