diff --git a/src/wp-includes/http.php b/src/wp-includes/http.php index 05792c29c2..dc750371ac 100644 --- a/src/wp-includes/http.php +++ b/src/wp-includes/http.php @@ -523,7 +523,7 @@ function wp_http_validate_url( $url ) { $parsed_home = @parse_url( get_option( 'home' ) ); - if ( isset( $parsed_home['host'] ) ) { + if ( isset( $parsed_home['host'] ) ) { $same_host = ( strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] ) || 'localhost' === strtolower( $parsed_url['host'] ) ); } else { $same_host = false; @@ -531,7 +531,7 @@ function wp_http_validate_url( $url ) { if ( ! $same_host ) { $host = trim( $parsed_url['host'], '.' ); - if ( preg_match( '#^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$#', $host ) ) { + if ( preg_match( '#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $host ) ) { $ip = $host; } else { $ip = gethostbyname( $host );