esc_url_raw()
Очищає URL для безпечного використання у запиті до БД, при редиректах та HTTP запитах. Не очищає для безпечного виведення на екран.
Не використовуйте цю функцію, якщо УРЛ виводиться в коді HTML (на екран), використовуйте esc_url() – вона замінює HTML сутності – це захистить від XSS атак.
Ця функція також має аліас (копія), іноді (залежить від контексту де використовується функція) з більш відповідною назвою – sanitize_url() .
Працює на основі:
esc_url()
esc_url()
1 раз – 0.000071 сек
(дуже швидко) | 50000 разів – 1.60 сек
(швидко)
(дуже швидко) | 50000 разів – 1.60 сек
(швидко)
Хуків немає.
Повертає
Строку
. Поверне порожній рядок, якщо в УРЛ вказаний протокол, що не вказаний у $protocols .
Використання
esc_url_raw($url, $protocols);
-
$url
(рядок) (обов’язковий) - УРЛ, який потрібно очистити.
-
$protocols
(масив) -
Масив допустимих протоколів. Якщо встановлено, то:
http ,
https ,
ftp ,
ftps ,
mailto ,
news ,
irc ,
gopher ,
nntp ,
feed ,
telnet .
Типово: null
Приклади
#1 Демонстрація роботи
$url = 'http://example.com?foo=<script>/some</script>'; echo esc_url_raw($url); // http://example.com?foo=script/some/script echo esc_url($url); // http://example.com?foo=script/some/script
#2 Очищення УРЛ перед використанням у запиті
$url = 'http://example.com'; $response = wp_remote_get(esc_url_raw($url)); // Не потрібно очищати сутності if ( ! is_wp_error( $response ) ) { echo wp_remote_retrieve_body( $response ); }
#3 Неправильне використання
<!-- ПОМИЛКА! Потрібно використати esc_url()! --> <img src='<?php echo esc_url_raw($url); ?>' /> <a href='<?php echo esc_url_raw($url); ?>'>Example</a>
нотатки
- Дивіться: esc_url()
список змін
З версії 2.8.0 | Введено. |
код esc_url_raw() esc url raw WP 6.0.2
function esc_url_raw( $url, $protocols = null ) { return esc_url($url, $protocols, 'db'); }