PluginProbe ʕ •ᴥ•ʔ
WP 2FA – Two-factor authentication for WordPress / 2.5.0
WP 2FA – Two-factor authentication for WordPress v2.5.0
1.7.1 2.0.0 2.0.1 2.1.0 2.2.0 2.2.1 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.8.0 2.9.0 2.9.1 2.9.2 2.9.3 3.0.0 3.0.1 3.1.0 3.1.1 3.1.1.2 trunk 1.2.0 1.3.0 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.6.2 1.7.0
wp-2fa / includes / classes / Utils / class-request-utils.php
wp-2fa / includes / classes / Utils Last commit date
class-abstract-migration.php 2 years ago class-date-time-utils.php 2 years ago class-debugging.php 2 years ago class-generate-modal.php 2 years ago class-migration.php 2 years ago class-request-utils.php 2 years ago class-settings-utils.php 2 years ago class-user-utils.php 2 years ago index.php 5 years ago
class-request-utils.php
70 lines
1 <?php
2 /**
3 * Responsible for the requests.
4 *
5 * @package wp2fa
6 * @subpackage utils
7 * @copyright %%YEAR%% Melapress
8 * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0
9 * @link https://wordpress.org/plugins/wp-2fa/
10 * @since 2.0.0
11 */
12
13 namespace WP2FA\Utils;
14
15 if ( ! class_exists( '\WP2FA\Utils\Request_Utils' ) ) {
16
17 /**
18 * Utility class to extract info from current request.
19 *
20 * @package WP2FA\Utils
21 * @since 2.0.0
22 */
23 class Request_Utils {
24
25 /**
26 * Extracts the IP address for the currently browsing user
27 *
28 * @return string
29 *
30 * @since 2.0.0
31 */
32 public static function get_ip() {
33 foreach (
34 array(
35 'HTTP_CLIENT_IP',
36 'HTTP_X_FORWARDED_FOR',
37 'HTTP_X_FORWARDED',
38 'HTTP_X_CLUSTER_CLIENT_IP',
39 'HTTP_FORWARDED_FOR',
40 'HTTP_FORWARDED',
41 'REMOTE_ADDR',
42 ) as $key
43 ) {
44 if ( array_key_exists( $key, $_SERVER ) === true ) {
45 foreach ( array_map( 'trim', explode( ',', $_SERVER[ $key ] ) ) as $ip ) { // phpcs:ignore
46 if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) !== false ) {
47 return $ip;
48 }
49 }
50 }
51 }
52 }
53
54 /**
55 * Extracts the User agent for the currently request.
56 *
57 * @return string
58 *
59 * @since 2.0.0
60 */
61 public static function get_user_agent() {
62 if ( ! array_key_exists( 'HTTP_USER_AGENT', $_SERVER ) ) {
63 return '';
64 }
65
66 return trim( $_SERVER['HTTP_USER_AGENT'] ); // phpcs:ignore
67 }
68 }
69 }
70