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

后宫君

开启CDN之后 ,拿到的IP都是CDN节点的,而我不可能把CDN的节点IP也给禁用了,那就都不能访问了。 下面是读取 Cdn-Real-ip 代码片段:

C#:

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

JAVA:

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

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

PHP:

<pre lang="php" line="1" escaped="true">
<?php                                                                   
 $user_IP = ($_SERVER["HTTP_CDN_REAL_IP"]);                              
 echo $user_IP;                                                          
?>
本文由 后宫君博客 作者:inebriate 发表,其版权均为 后宫君博客 所有,文章内容系作者个人观点,不代表 后宫君博客 对观点赞同或支持。如需转载,请注明文章来源。
3

发表评论