is_allowed_http_origin()

Определяет, является ли HTTP-происхождение авторизованным
Функция WordPress
INT 3.4.0
WordPress Icon

Описание функции

Функция is_allowed_http_origin() определяет, является ли HTTP-оригинал авторизованным.

Она проверяет, соответствует ли переданный HTTP-оригинал одному из разрешенных оригиналов, указанных в настройках WordPress.

Если оригинал разрешен, функция возвращает URL оригинала, в противном случае возвращается пустая строка.

Использование

is_allowed_http_origin( string|null $origin = null ): string

Функция is_allowed_http_origin() принимает один необязательный параметр — URL оригинала. Если параметр не указан, используется значение, полученное из функции get_http_origin(). Функция возвращает строку — URL оригинала, если он разрешен, или пустую строку, если он не разрешен.

  • $origin (строка|null): Необязательный URL оригинала. Если не указан, используется значение, полученное из функции get_http_origin(). По умолчанию: null.

Функция возвращает строку — URL оригинала, если он разрешен, или пустую строку, если он не разрешен.

<?php
/**
 * Пример использования функции is_allowed_http_origin()
 *
 * Проверяет, является ли переданный HTTP-оригинал разрешенным.
 * Возвращает URL оригинала, если он разрешен, или пустую строку, если он не разрешен.
 */
$origin = 'https://example.com'; // Переданный HTTP-оригинал
// Проверяем, является ли переданный оригинал разрешенным
$is_allowed = is_allowed_http_origin( $origin );
if ( ! empty( $is_allowed ) ) {
    echo 'Оригинал разрешен: ' . $is_allowed;
} else {
    echo 'Оригинал не разрешен';
}
?>

В данном примере мы передаем HTTP-оригинал ‘https://example.com’ в функцию is_allowed_http_origin() и проверяем, является ли он разрешенным. Если оригинал разрешен, выводится сообщение «Оригинал разрешен: [URL оригинала]». Если оригинал не разрешен, выводится сообщение «Оригинал не разрешен».

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

Проверка разрешенного HTTP origin


$origin = 'https://example.com';
$result = is_allowed_http_origin($origin);

В данном примере мы вызываем функцию is_allowed_http_origin() и передаем ей значение переменной $origin, содержащей URL источника HTTP. Функция возвращает строку — URL источника, если он разрешен, или пустую строку, если источник не разрешен.

Определение разрешенного HTTP origin


$origin = get_http_origin();
$result = is_allowed_http_origin($origin);

В данном примере мы используем функцию get_http_origin() для получения текущего HTTP origin. Затем, мы передаем полученное значение в функцию is_allowed_http_origin() для проверки разрешенности источника. Результатом будет строка — URL источника, если он разрешен, или пустая строка, если источник не разрешен.

Получение разрешенного HTTP origin


$origin = get_http_origin();

В данном примере мы используем функцию get_http_origin() для получения текущего HTTP origin. Значение источника будет сохранено в переменной $origin.

Установка разрешенного HTTP origin


$origin = 'https://example.com';
set_http_origin($origin);

В данном примере мы используем функцию set_http_origin() для установки разрешенного HTTP origin. Мы передаем функции значение переменной $origin, содержащей URL источника, который будет разрешен.

Ограничение разрешенного HTTP origin


$origin = 'https://example.com';
add_filter('allowed_http_origins', function ($origins) use ($origin) {
    $origins[] = $origin;
    return $origins;
});

В данном примере мы используем функцию add_filter() для добавления фильтра allowed_http_origins. Внутри функции-обработчика фильтра мы добавляем значение переменной $origin в массив разрешенных источников. Таким образом, мы ограничиваем разрешенные HTTP origin только указанным источником.

Вопросы и ответы

Как определить, является ли HTTP-оригин разрешенным?

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

Она принимает один необязательный параметр — $origin, который представляет собой URL оригина. Если этот параметр не указан, то используется значение, полученное с помощью функции get_http_origin().

Функция возвращает строку — URL оригина, если он разрешен, и пустую строку, если он не разрешен.

Как получить значение HTTP-оригина, если он не был предоставлен?

Значение HTTP-оригина можно получить с помощью функции get_http_origin(). Если оригин не был предоставлен, эта функция вернет пустую строку.

Какие значения может принимать HTTP-оригин?

Значение HTTP-оригина может быть любым допустимым URL-адресом.

Как проверить, разрешен ли HTTP-оригин?

Для проверки разрешенности HTTP-оригина можно использовать функцию is_allowed_http_origin(). Она вернет URL оригина, если он разрешен, и пустую строку, если он не разрешен.

Пример использования функции:


$origin = 'https://example.com';
$is_allowed = is_allowed_http_origin($origin);
if (!empty($is_allowed)) {
    echo 'HTTP origin is allowed.';
} else {
    echo 'HTTP origin is not allowed.';
}

Что возвращает функция, если HTTP-оригин не разрешен?

Функция is_allowed_http_origin() возвращает пустую строку, если HTTP-оригин не разрешен.

Как использовать функцию is_allowed_http_origin() в своем коде?

Для использования функции is_allowed_http_origin() в своем коде, необходимо передать в нее опциональный параметр $origin — URL оригина. Если параметр не указан, будет использовано значение функции get_http_origin(). Функция вернет URL оригина, если он разрешен, иначе вернет пустую строку.


$origin = 'https://example.com';
$result = is_allowed_http_origin($origin);

Какие проблемы могут возникнуть при использовании функции is_allowed_http_origin()?

При использовании функции is_allowed_http_origin() могут возникнуть следующие проблемы:

  • Неправильно настроенный список разрешенных HTTP-оригинов может привести к нежелательным результатам.
  • Если функция get_http_origin() возвращает некорректное значение, это может привести к неправильному определению разрешенности оригина.

Как настроить список разрешенных HTTP-оригинов?

Список разрешенных HTTP-оригинов можно настроить с помощью фильтра allowed_http_origins. Для добавления нового оригина необходимо добавить его URL в список разрешенных оригинов.


function add_allowed_http_origin($origins) {
  $origins[] = 'https://example.com';
  return $origins;
}
add_filter('allowed_http_origins', 'add_allowed_http_origin');

Функция is_allowed_http_origin() позволяет определить, является ли HTTP-оригин разрешенным. Она возвращает URL оригина, если он разрешен, иначе возвращает пустую строку. Для использования функции необходимо передать опциональный параметр $origin или использовать значение функции get_http_origin(). При использовании функции следует учитывать возможные проблемы, такие как неправильно настроенный список разрешенных оригинов или некорректное значение функции get_http_origin(). Список разрешенных оригинов можно настроить с помощью фильтра allowed_http_origins.

Связанные элементы

  • Функция wp_get_http_headers(): возвращает массив заголовков HTTP текущего запроса.
  • Функция wp_get_http(): отправляет HTTP-запрос на удаленный сервер и возвращает результат.
  • Функция wp_remote_get(): отправляет GET-запрос на удаленный сервер и возвращает результат.
  • Функция wp_remote_post(): отправляет POST-запрос на удаленный сервер и возвращает результат.
  • Хук http_api_debug: позволяет отладить HTTP-запросы и ответы.
  • Класс WP_Http_Cookie: представляет собой объект cookie, содержащий информацию о куки-файле.
  • Класс WP_Http_Encoding: предоставляет методы для работы с кодировкой HTTP.
Обсуждение