wp_get_original_referer()
云策文档标注
概述
wp_get_original_referer() 函数用于检索已发布的原始 HTTP referer,如果存在则返回其 URL。该函数依赖于 wp_validate_redirect() 进行验证,并处理 $_REQUEST['_wp_original_http_referer'] 变量。
关键要点
- 函数返回原始 referer URL(成功时)或 false(失败时)。
- HTTP referer 是服务器变量,注意 'referer' 是故意拼写错误的。
- 函数内部检查 wp_validate_redirect() 是否已定义,否则返回 false。
- 使用 wp_unslash() 移除字符串中的斜杠,确保数据安全。
- 自 WordPress 2.0.4 版本引入。
代码示例
function wp_get_original_referer() {
// Return early if called before wp_validate_redirect() is defined.
if ( ! function_exists( 'wp_validate_redirect' ) ) {
return false;
}
if ( ! empty( $_REQUEST['_wp_original_http_referer'] ) ) {
return wp_validate_redirect( wp_unslash( $_REQUEST['_wp_original_http_referer'] ), false );
}
return false;
}注意事项
- 函数依赖于 wp_validate_redirect() 进行 URL 验证,确保重定向安全。
- 相关函数包括 wp_original_referer_field() 用于表单隐藏字段。
原文内容
Retrieves original referer that was posted, if it exists.
Source
function wp_get_original_referer() {
// Return early if called before wp_validate_redirect() is defined.
if ( ! function_exists( 'wp_validate_redirect' ) ) {
return false;
}
if ( ! empty( $_REQUEST['_wp_original_http_referer'] ) ) {
return wp_validate_redirect( wp_unslash( $_REQUEST['_wp_original_http_referer'] ), false );
}
return false;
}
Changelog
| Version | Description |
|---|---|
| 2.0.4 | Introduced. |