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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations)
Wed Mar 23 17:31:14 2005 UTC (20 years, 11 months ago) by sysadm
Branch: MAIN
CVS Tags: fenglin_1-0-0-0_MIL
Changes since 1.7: +4 -4 lines
no message

1 sysadm 1.1 <?
2 sysadm 1.5 require_once "common.inc.php";
3 sysadm 1.1
4 sysadm 1.4 function Client_Address($addr=null,$x_addr=null)
5 sysadm 1.1 {
6 sysadm 1.5 global $SYS_proxy_ip;
7    
8     $proxy_ip = $SYS_proxy_ip;
9 sysadm 1.2
10 sysadm 1.4 if ($addr == null)
11     $addr = $_SERVER["REMOTE_ADDR"];
12    
13 sysadm 1.6 if ($x_addr == null && isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
14     $x_addr = $_SERVER["HTTP_X_FORWARDED_FOR"];
15 sysadm 1.4
16 sysadm 1.8 foreach($proxy_ip as $tmp => $ip)
17 sysadm 1.2 {
18 sysadm 1.8 if (ereg($ip,$addr))
19 sysadm 1.2 {
20 sysadm 1.4 if ($x_addr != null)
21 sysadm 1.2 {
22 sysadm 1.4 $client_addr = explode(",",$x_addr);
23     for($i=count($client_addr)-1;$i>=0;$i--)
24 sysadm 1.2 {
25     $proxy = false;
26 sysadm 1.8 foreach($proxy_ip as $tmp => $ip)
27 sysadm 1.2 {
28 sysadm 1.8 if (ereg($ip,$client_addr[$i]))
29 sysadm 1.2 $proxy = true;
30     }
31     if (!$proxy)
32     return trim($client_addr[$i]);
33     }
34     return trim($client_addr[0]);
35     }
36     else
37     {
38     return $_SERVER["REMOTE_ADDR"];
39     }
40     }
41     }
42    
43     return $_SERVER["REMOTE_ADDR"];
44 sysadm 1.1 }
45    
46     ?>

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