llms_get_ip_address()
Retrieve an IP Address for the current user
Return Return
(string)
Source Source
File: includes/llms.functions.core.php
*/ function llms_get_ip_address() { $ip = ''; // phpcs:disable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Look below you. // phpcs:disable WordPress.Security.ValidatedSanitizedInput.MissingUnslash -- Look below you. if ( isset( $_SERVER['HTTP_X_REAL_IP'] ) ) { $ip = $_SERVER['HTTP_X_REAL_IP']; } elseif ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { // Proxy servers can send through this header like this: X-Forwarded-For: client1, proxy1, proxy2. // Make sure we always only send through the first IP in the list which should always be the client IP. $ip = trim( current( explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) ); } elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) { $ip = $_SERVER['REMOTE_ADDR']; } // phpcs:enable WordPress.Security.ValidatedSanitizedInput.InputNotSanitized // phpcs:enable WordPress.Security.ValidatedSanitizedInput.MissingUnslash $ip = sanitize_text_field( wp_unslash( $ip ) ); if ( ! filter_var( $ip, FILTER_VALIDATE_IP ) ) { return ''; } return $ip;
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.35.0 | Sanitize superglobal input. |
3.0.0 | Introduced. |