PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.7
Independent Analytics – WordPress Analytics Plugin v1.7
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / inc / utils / request.php
independent-analytics / inc / utils Last commit date
array_to_csv.php 4 years ago date_format.php 4 years ago relative_dates.php 4 years ago request.php 4 years ago security.php 4 years ago timezone.php 4 years ago
request.php
99 lines
1 <?php
2
3 namespace IAWP;
4
5 class Request
6 {
7 private static function scheme()
8 {
9 if ((!empty($_SERVER['REQUEST_SCHEME']) && $_SERVER['REQUEST_SCHEME'] == 'https') ||
10 (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ||
11 (!empty($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443')) {
12 return 'https';
13 } else {
14 return 'http';
15 }
16 }
17
18 private static function url()
19 {
20 if (!empty($_SERVER['HTTP_HOST']) && !empty($_SERVER['REQUEST_URI'])) {
21 return esc_url_raw(self::scheme() . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
22 } else {
23 return null;
24 }
25 }
26
27 public static function path_relative_to_site_url()
28 {
29 $url = self::url();
30 $site_url = site_url();
31
32 if (substr($url, 0, strlen($site_url)) == $site_url) {
33 return substr($url, strlen($site_url));
34 } else {
35 return null;
36 }
37 }
38
39 public static function ip()
40 {
41 if (isset($_SERVER['HTTP_CLIENT_IP'])) {
42 return $_SERVER['HTTP_CLIENT_IP'];
43 }
44 if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
45 return $_SERVER['HTTP_X_FORWARDED_FOR'];
46 }
47 if (isset($_SERVER['HTTP_X_FORWARDED'])) {
48 return $_SERVER['HTTP_X_FORWARDED'];
49 }
50 if (isset($_SERVER['HTTP_FORWARDED_FOR'])) {
51 return $_SERVER['HTTP_FORWARDED_FOR'];
52 }
53 if (isset($_SERVER['HTTP_FORWARDED'])) {
54 return $_SERVER['HTTP_FORWARDED'];
55 }
56 if (isset($_SERVER['REMOTE_ADDR'])) {
57 return $_SERVER['REMOTE_ADDR'];
58 }
59
60 return null;
61 }
62
63 public static function user_agent()
64 {
65 return $_SERVER['HTTP_USER_AGENT'];
66 }
67
68 public static function token()
69 {
70 $salt = get_option('iawp_salt');
71
72 if ($salt == false) {
73 $salt = self::salt();
74 update_option('iawp_salt', $salt);
75 }
76
77 $result = $salt . self::ip() . self::user_agent();
78
79 return md5($result);
80 }
81
82 public static function salt()
83 {
84 $length = 32;
85
86 if (function_exists('random_bytes')) {
87 $bytes = bin2hex(random_bytes($length));
88 }
89 if (function_exists('mcrypt_create_iv')) {
90 $bytes = bin2hex(mcrypt_create_iv($length, MCRYPT_DEV_URANDOM));
91 }
92 if (function_exists('openssl_random_pseudo_bytes')) {
93 $bytes = bin2hex(openssl_random_pseudo_bytes($length));
94 }
95
96 return substr(strtr(base64_encode(hex2bin($bytes)), '+', '.'), 0, 44);
97 }
98 }
99