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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.7 - (show annotations)
Sat Mar 12 08:29:35 2005 UTC (21 years ago) by sysadm
Branch: MAIN
Changes since 1.6: +1 -1 lines
Fix bug: array to string convertion

1 <?
2 require_once "common.inc.php";
3
4 function Client_Address($addr=null,$x_addr=null)
5 {
6 global $SYS_proxy_ip;
7
8 $proxy_ip = $SYS_proxy_ip;
9
10 if ($addr == null)
11 $addr = $_SERVER["REMOTE_ADDR"];
12
13 if ($x_addr == null && isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
14 $x_addr = $_SERVER["HTTP_X_FORWARDED_FOR"];
15
16 foreach($proxy_ip as $ip)
17 {
18 if (ereg($ip[0],$addr))
19 {
20 if ($x_addr != null)
21 {
22 $client_addr = explode(",",$x_addr);
23 for($i=count($client_addr)-1;$i>=0;$i--)
24 {
25 $proxy = false;
26 foreach($proxy_ip as $ip)
27 {
28 if (ereg($ip[0],$client_addr[$i]))
29 $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 }
45
46 ?>

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