RealIP::getRealIpAddr()   A
last analyzed

Complexity

Conditions 4
Paths 4

Size

Total Lines 15
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 9
CRAP Score 4

Importance

Changes 0
Metric Value
cc 4
eloc 9
nc 4
nop 0
dl 0
loc 15
ccs 9
cts 9
cp 1
crap 4
rs 9.9666
c 0
b 0
f 0
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