上網發現有一個非常實用的PHP獲取客戶端IP的函數:
PHP Code復制內容到剪貼板
- function getOnlineIP() {
- $cip = getenv ( 'HTTP_CLIENT_IP' );
- $xip = getenv ( 'HTTP_X_FORWARDED_FOR' );
- $rip = getenv ( 'REMOTE_ADDR' );
- $srip = $_SERVER ['REMOTE_ADDR'];
- if ($cip && strcasecmp ( $cip, 'unknown' )) {
- $onlineip = $cip;
- } elseif ($xip && strcasecmp ( $xip, 'unknown' )) {
- $onlineip = $xip;
- } elseif ($rip && strcasecmp ( $rip, 'unknown' )) {
- $onlineip = $rip;
- } elseif ($srip && strcasecmp ( $srip, 'unknown' )) {
- $onlineip = $srip;
- }
- preg_match ( "/[\d\.]{7,15}/", $onlineip, $match );
- $onlineip = $match [0] ? $match [0] : 'unknown';
- return $onlineip;
- }