開啟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)