首页 >后端开发 >php教程 >如何在 PHP 中检索引用 URL:为什么 $_SERVER[\'HTTP_REFERER\'] 有时为空?

如何在 PHP 中检索引用 URL:为什么 $_SERVER[\'HTTP_REFERER\'] 有时为空?

Barbara Streisand
Barbara Streisand原创
2024-10-29 09:55:02625浏览

How to Retrieve the Referrer URL in PHP: Why is $_SERVER['HTTP_REFERER'] Sometimes Empty?

如何在 PHP 中检索引用网址

跟踪网站上的用户行为时,通常希望知道他们来自哪里。 PHP 提供了一种通过 $_SERVER['HTTP_REFERER'] 变量访问引用网址的便捷方法。

但是,需要注意的是,该变量可能并不总是包含预期值。例如,如果用户通过输入 URL 或使用书签直接访问您的网站,则 $_SERVER['HTTP_REFERER'] 将为空。

其他注意事项

如果您使用 $_SERVER['HTTP_REFERER'] 变量并发现它始终为空,请考虑以下可能性:

  • 用户可能已禁用在其邮件中发送引荐来源网址信息的选项浏览器设置。
  • 用户可能使用了脚本或机器人来访问您的网站,而该网站通常不提供引荐来源网址信息。
  • 您可能不小心省略了 $_SERVER[' 中的前导下划线HTTP_REFERER'].

以下是 $_SERVER 数组中包含的变量的更全面列表:

  • DOCUMENT_ROOT:网络服务器的根文件夹。
  • GATEWAY_INTERFACE:CGI 的版本。
  • HTTP_ACCEPT:客户端可以接受的内容类型。
  • HTTP_ACCEPT_ENCODING:客户端可接受的编码。
  • HTTP_ACCEPT_LANGUAGE:客户端可接受的语言。
  • HTTP_CACHE_CONTROL:控制页面的缓存。
  • HTTP_CONNECTION:用于访问页面的连接类型。
  • HTTP_COOKIE:客户端发送的 cookie。
  • HTTP_HOST:服务器的主机名。
  • HTTP_USER_AGENT:用户
  • PATH:脚本的搜索路径。
  • QUERY_STRING:发送到脚本的查询字符串。
  • REDIRECT_STATUS:执行重定向的状态代码
  • REMOTE_ADDR:客户端的 IP 地址。
  • REMOTE_PORT:客户端使用的端口号。
  • REQUEST_METHOD:访问页面的方法(GET、POST 等)。
  • REQUEST_URI:请求页面的路径和查询字符串。
  • SCRIPT_FILENAME:正在执行的脚本的绝对路径。
  • SCRIPT_NAME:正在执行的脚本的路径。
  • SERVER_ADDR:服务器的 IP 地址。
  • SERVER_ADMIN:服务器管理员的电子邮件地址。
  • SERVER_NAME:服务器的主机名。
  • SERVER_PORT:服务器使用的端口号。
  • SERVER_PROTOCOL:服务器使用的协议(HTTP/1.1、HTTP/1.0)。
  • SERVER_SIGNATURE:服务器的签名(Apache、IIS 等)。
  • SERVER_SOFTWARE:服务器使用的软件(Apache、IIS 等)。
  • UNIQUE_ID:唯一的会话标识符。
  • PHP_SELF:当前脚本的名称。
  • REQUEST_TIME:发出请求时的时间戳。
  • argv:命令行参数数组。
  • argc:命令行参数的数量。

以上是如何在 PHP 中检索引用 URL:为什么 $_SERVER[\'HTTP_REFERER\'] 有时为空?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn