Функция WP_GET_RAW_REFERER(): Как получить ненадежный URL реферера?

Функция WP_GET_RAW_REFERER()

Функция wp_get_raw_referer() помогает получить ненадежный (непроверенный) адрес ссылки, откуда пользователь пришел, из переменной '_wp_http_referer' или из HTTP-заголовка ссылок.

Если переменная '_wp_http_referer' не является строкой, то она будет проигнорирована.

Важно: Не используйте эту функцию для перенаправлений. Вместо этого используйте wp_get_referer().

Возвращаемое значение

Возвращает строку с URL-адресом источника или false в случае ошибки.

Пример использования

wp_get_raw_referer();

Пример

Проверка наличия ссылки-реферера

Допустим, вы находитесь на странице http://example.com/foo и переходите на страницу http://example.com/bar, где срабатывает следующий код:

$referer = wp_get_raw_referer();

if( $referer ){
    echo $referer;
}

На экране будет выведен URL страницы, с которой вы пришли:

http://example.com/foo

Код функции

Функция wp_get_raw_referer() реализована следующим образом:


function wp_get_raw_referer() {
if ( ! empty( $_REQUEST['_wp_http_referer'] ) && is_string( $_REQUEST['_wp_http_referer'] ) ) {
return wp_unslash( $_REQUEST['_wp_http_referer'] );
} elseif ( ! empty( $_SERVER['HTTP_REFERER'] ) ) {
return wp_unslash( $_SERVER['HTTP_REFERER'] );
}
return false;
}

Эта функция проверяет, есть ли значение в $_REQUEST['_wp_http_referer'] и является ли оно строкой. Если да, то возвращает это значение. Если нет, то функция проверяет, есть ли ссылка в заголовке HTTP. Если и там её нет, возвращается false.

Заключение

Функция wp_get_raw_referer() полезна для получения информации о прошлых переходах пользователей. Однако следует помнить, что она не рекомендуется для использования в случаях перенаправления. Для этих целей лучше применять wp_get_referer().

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *