客戶支持
  首 頁 域名注冊  虛擬主機  營銷通  IDC業務  網站推廣  網站建設  企業郵局  優惠套餐  聯系我們  匯款方式  
網站首頁
客戶支持首頁
熱門文章排行
更多... 
 
熱門問題列表
首頁 -> 客戶支持
采用CDN后,如何在網站程序里拿到客戶真實上網IP

查看次數:313949   更新時間:2013/10/28    

  現在很多網站用了CDN技術,但采用CDN技術后很多人會發現原來用來獲取瀏覽者的上網IP的程序不能正常使用了,它拿到的并不是瀏覽者的真實上網IP,而是CDN節點的IP,這怎么辦呢?其實非常簡單,只需要對獲取IP的代碼作一點小改動就可以了。

  在沒有使用CDN前,我們如果想在網站程序里拿到瀏覽者的IP,只需要讀取 REMOTE_ADDR 這個服務器變量就行了,而采用CDN后,REMOTE_ADDR 這個變量的值并不是瀏覽者的上網IP,而是CDN節點的IP,而用戶的真實上網IP是放在 HTTP_X_FORWARDED_FOR 這個變量里的,既然這樣的話,我們只需要寫個兼容性的函數來獲取IP就行了,代碼如下:

1. asp 的示例代碼
<%
Function GetClientIP()
 Dim ip
 ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
 If(ip <> "") Then
  Dim arr
  arr = Split(ip,",")
  GetClientIP = arr(0)
 Else
  GetClientIP = Request.ServerVariables("REMOTE_ADDR")
 End if
End function

Response.Write("您的上網IP是:" + GetClientIP())
%>

2. php 的示例代碼
<?
function GetClientIP(){
 $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
 if($ip != ""){
  $arr = explode(",",$ip);
  return $arr[0];
 }else{
  return $_SERVER["REMOTE_ADDR"];
 }
}

echo "您的上網IP是:".GetClientIP();
?>

3. asp.net 的示例代碼
<%@Page Language="C#"%>
<script runat='server'>
private string GetClientIP(){
 string ip = Request.ServerVariables["HTTP_X_FORWARDED_FOR"] + "";
 if(ip  != ""){
  string[] arr = ip.Split(',');
  return arr[0];
 }else{
  return Request.ServerVariables["REMOTE_ADDR"];
 }
}

void Page_Load(){
 Response.Write("您的上網IP是:" + GetClientIP());
}
</script>

[返 回]
佛山市億動網絡有限公司 www.72e.net (云指)
一个色综合 思思99热久久精品在线6 超碰caoprom超碰分类 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>