get_http_origin()
云策文档标注
概述
get_http_origin() 函数用于获取当前 HTTP 请求的 Origin 头信息,返回 URL 字符串或空字符串。它通过 $_SERVER['HTTP_ORIGIN'] 获取值,并应用 'http_origin' 过滤器进行修改。
关键要点
- 函数返回当前请求的 HTTP Origin URL,若无则返回空字符串
- 内部检查 $_SERVER['HTTP_ORIGIN'] 变量来获取 Origin 值
- 使用 apply_filters('http_origin', $origin) 允许通过过滤器修改返回值
- 与 CORS 相关函数如 rest_send_cors_headers() 和 is_allowed_http_origin() 配合使用
- 自 WordPress 3.4.0 版本引入
代码示例
function get_http_origin() {
$origin = '';
if ( ! empty( $_SERVER['HTTP_ORIGIN'] ) ) {
$origin = $_SERVER['HTTP_ORIGIN'];
}
return apply_filters( 'http_origin', $origin );
}注意事项
- Origin 头通常用于跨域请求(CORS),确保安全处理
- 可通过 'http_origin' 过滤器自定义返回值,例如添加验证逻辑
- 函数不验证 Origin 是否被允许,需结合 is_allowed_http_origin() 使用
原文内容
Gets the HTTP Origin of the current request.
Source
function get_http_origin() {
$origin = '';
if ( ! empty( $_SERVER['HTTP_ORIGIN'] ) ) {
$origin = $_SERVER['HTTP_ORIGIN'];
}
/**
* Changes the origin of an HTTP request.
*
* @since 3.4.0
*
* @param string $origin The HTTP origin for the request.
*/
return apply_filters( 'http_origin', $origin );
}
Hooks
- apply_filters( ‘http_origin’, string $origin )
-
Changes the origin of an HTTP request.
Changelog
| Version | Description |
|---|---|
| 3.4.0 | Introduced. |