RealIP   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 17
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0
wmc 4

1 Method

Rating   Name   Duplication   Size   Complexity  
A getRealIpAddr() 0 15 4
1
<?php
2
3
namespace artes\IP;
4
5
/**
6
  * A class for getting real IP addresses.
7
  *
8
  * @SuppressWarnings(PHPMD)
9
  */
10
class RealIP
11
{
12 5
    public function getRealIpAddr()
13
    {
14 5
        if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
15
            // Check IP from internet.
16 3
            $ip = $_SERVER['HTTP_CLIENT_IP'];
17 3
        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
18
            // Check IP is passed from proxy.
19 1
            $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
20 3
        } elseif (!empty($_SERVER['REMOTE_ADDR'])) {
21
            // Get IP address from remote address.
22 1
            $ip = $_SERVER['REMOTE_ADDR'];
23
        } else {
24 2
            $ip = "94.21.49.200";
25
        }
26 5
        return $ip;
27
    }
28
}
29