/[LeafOK_CVS]/fenglin/lib/client_addr.inc.php
ViewVC logotype

Diff of /fenglin/lib/client_addr.inc.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.2 by sysadm, Thu Jun 10 20:37:11 2004 UTC Revision 1.10 by sysadm, Sun Mar 2 02:32:22 2025 UTC
# Line 1  Line 1 
1  <?  <?
2    require_once "common.inc.php";
3    
4  function Client_Address()  function Client_Address($addr=null,$x_addr=null)
5  {  {
6          $proxy_ip = array(          if ($addr == null)
7                  "^61.129.42.22[01]$",                  $addr = $_SERVER["REMOTE_ADDR"];
                 "^10.85.31.[0-9]{1,3}$",  
                 "^192.168.176.57$"  
         );  
8    
9          foreach($proxy_ip as $ip)          if ($x_addr == null && isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
10          {                  $x_addr = $_SERVER["HTTP_X_FORWARDED_FOR"];
                 if (ereg($ip,$_SERVER["REMOTE_ADDR"]))  
                 {  
                         if (isset($_SERVER["HTTP_X_CLIENT_ADDR"]))  
                         {  
                                 $client_addr = explode(",",$_SERVER["HTTP_X_CLIENT_ADDR"]);  
                                 for($i=count($_SERVER["HTTP_X_CLIENT_ADDR"])-1;$i>=0;$i--)  
                                 {  
                                         $proxy = false;  
                                         foreach($proxy_ip as $ip)  
                                         {  
                                                 if (ereg($ip,$_SERVER["REMOTE_ADDR"]))  
                                                         $proxy = true;  
                                         }  
                                         if (!$proxy)  
                                                 return trim($client_addr[$i]);  
                                 }  
                                 return trim($client_addr[0]);  
                         }  
                         else  
                         {  
                                 return $_SERVER["REMOTE_ADDR"];  
                         }  
                 }  
         }  
11    
12          return $_SERVER["REMOTE_ADDR"];          return $_SERVER["REMOTE_ADDR"];
13  }  }


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1