PluginProbe ʕ •ᴥ•ʔ
WP 2FA – Two-factor authentication for WordPress / 2.4.2
WP 2FA – Two-factor authentication for WordPress v2.4.2
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 3 years ago class-date-time-utils.php 3 years ago class-debugging.php 3 years ago class-generate-modal.php 3 years ago class-migration.php 3 years ago class-request-utils.php 3 years ago class-settings-utils.php 3 years ago class-user-utils.php 3 years ago index.php 5 years ago
class-request-utils.php
67 lines
1 <?php
2 /**
3 * Responsible for the requests.
4 *
5 * @package wp2fa
6 * @subpackage utils
7 * @copyright 2023 WP White Security
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 /**
16 * Utility class to extract info from current request.
17 *
18 * @package WP2FA\Utils
19 * @since 2.0.0
20 */
21 class Request_Utils {
22
23 /**
24 * Extracts the IP address for the currently browsing user
25 *
26 * @return string
27 *
28 * @since 2.0.0
29 */
30 public static function get_ip() {
31 foreach (
32 array(
33 'HTTP_CLIENT_IP',
34 'HTTP_X_FORWARDED_FOR',
35 'HTTP_X_FORWARDED',
36 'HTTP_X_CLUSTER_CLIENT_IP',
37 'HTTP_FORWARDED_FOR',
38 'HTTP_FORWARDED',
39 'REMOTE_ADDR',
40 ) as $key
41 ) {
42 if ( array_key_exists( $key, $_SERVER ) === true ) {
43 foreach ( array_map( 'trim', explode( ',', $_SERVER[ $key ] ) ) as $ip ) { // phpcs:ignore
44 if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) !== false ) {
45 return $ip;
46 }
47 }
48 }
49 }
50 }
51
52 /**
53 * Extracts the User agent for the currently request.
54 *
55 * @return string
56 *
57 * @since 2.0.0
58 */
59 public static function get_user_agent() {
60 if ( ! array_key_exists( 'HTTP_USER_AGENT', $_SERVER ) ) {
61 return '';
62 }
63
64 return trim( $_SERVER['HTTP_USER_AGENT'] ); // phpcs:ignore
65 }
66 }
67