开启CDN后获取用户真实IP方法 PHP|ASP|JAVA常见代码

接入 CDN 后,为了方便获取客户端真实 IP,部分CDN服务商会在请求的头中添加 Cdn-Real-Ip 字段。 例:Cdn-Real-Ip: 58.214.233.214 需要注意的是这些代码是在您切换 CDN 后生效,如未使用 CDN 服务,这些代码是无法获得用户 IP 的。 下面是读取 Cdn-Real-ip 代码片段:

php:

<?php                                                                   
 $user_IP = ($_SERVER["HTTP_CDN_REAL_IP"]);                              
 echo $user_IP;                                                          
?>  

Java:

String srcIp = request.getHeader("Cdn-Real-Ip");                        
 if(srcIp == null){                                                 
 srcIp = request.getRemoteAddr();                                 
}

[注]request 是 HttpServletRequest 类型的参数,无论是直接写 serverlet 还是用 struts 都会传入该参数

Asp(用 C#):

String srcIp = Request.Headers["Cdn-Real-Ip"];                          
if(srcIp == null){                                                      
 srcIp = Request.UserHostAddress;                         
}

ASP:

<% Request.ServerVariables("HTTP_Cdn-Real-Ip") %>

转载请注明出处 AE博客|墨渊 » 开启CDN后获取用户真实IP方法 PHP|ASP|JAVA常见代码

发表评论

路人甲

网友评论(0)