diff --git a/includes/fields/class-directorist-url-field.php b/includes/fields/class-directorist-url-field.php index 4cc846082e..99d1acc30a 100644 --- a/includes/fields/class-directorist-url-field.php +++ b/includes/fields/class-directorist-url-field.php @@ -13,9 +13,15 @@ class Url_Field extends Base_Field { public $type = 'url'; public function validate( $posted_data ) { - $value = $this->sanitize( $posted_data ); - - if ( ! wp_http_validate_url( $value ) ) { + $value = $this->sanitize( $posted_data ); + $parsed_url = wp_parse_url( $value ); + + if ( + ! filter_var( $value, FILTER_VALIDATE_URL ) || + false === $parsed_url || + isset( $parsed_url['user'] ) || + isset( $parsed_url['pass'] ) + ) { $this->add_error( __( 'Invalid URL.', 'directorist' ) ); return false; @@ -30,7 +36,7 @@ public function sanitize( $posted_data ) { return $value; } - return esc_url_raw( $value ); + return esc_url_raw( $value, [ 'http', 'https' ] ); } }