esc_url_raw() WP 2.8.0
Очищает URL для безопасного использования в запросе к БД, при редиректах и HTTP запросах. Не очищает для безопасного вывода на экран.
Не используйте эту функцию, если УРЛ выводится в HTML коде (на экран), используйте esc_url() - она заменяет HTML сущности - это защитит от XSS атак.
Работает на основе: esc_url()
1 раз — 0.000071 сек (очень быстро) | 50000 раз — 1.60 сек (быстро)
Хуков нет.
Возвращает
Строку, очищенный URL. Вернет пустую строку, если в УРЛ указан неуказанный в $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 5.6.2
function esc_url_raw( $url, $protocols = null ) {
return esc_url( $url, $protocols, 'db' );
}