Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-addons-for-gutenberg domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the hustle domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /sites/danielkossmann.com/files/wp-includes/functions.php on line 6114
Como utilizar http_request_host_is_external() no WordPress - Daniel Kossmann

Com a função PHP wp_http_validate_url() você verifica se uma URL é válida ou não, de acordo com a HTTP API.

$url = "https://www.painelwp.com.br/newsletter-wordpress-edicao-100/?teste=valor";

if ( wp_http_validate_url( $url ) ) {
	// URL é válida

} else {
	// URL inválida
	
}Code language: PHP (php)

Diferente das funções esc_url() e esc_url_raw(), cujo foco é fazer a limpeza de caracteres inválidos de uma URL, a função wp_http_validate_url() faz várias validações, dentre elas:

  1. Uso de protocolo HTTP ou HTTPS;
  2. Se houver porta, deve ser 80, 443 ou 8080;
  3. Ausência de user ou pass;

Mas isto não significa que você não precisa mais fazer a limpeza da URL depois do seu uso. Veja o exemplo abaixo:

$url = "https://www.painelwp.com.br/newsletter-wordpress-edicao-100/?teste=<script>alert('oi');</script>";
if ( wp_http_validate_url( $url ) ) {
	// URL é válida
	echo "URL é: " . $url;
} else {
	// URL inválida
	echo "URL inválida, digite uma nova URL.";
}Code language: PHP (php)

A URL é válida, mas como não foi feito a limpeza o código em Java Script adicionado na URL será executado. A maneira segura de utilizar o código acima seria utilizar o esc_url() na exibição da URL:

$url = "https://www.painelwp.com.br/newsletter-wordpress-edicao-100/?test=<script>alert('oi');</script>";
if ( wp_http_validate_url( $url ) ) {
	// URL é válida
	echo "URL é: " . esc_url( $url );
} else {
	// URL inválida
	echo "URL inválida, digite uma nova URL.";
}Code language: PHP (php)


Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *