【问题标题】:Check if user was previously on another webpage?检查用户以前是否在另一个网页上?
【发布时间】:2012-08-16 15:43:56
【问题描述】:

您好,我想知道当用户如何访问我的一个网页时,说“page.html”,我想检查他们在访问“page.html”之前访问的最后一页是否是“google.com” "(或任何其他网站)。有没有办法做到这一点,或者我必须控制他们来自的其他网页才能监控这一点?如果可能的话,我认为这可以在 php 中完成。

【问题讨论】:

标签: php webpage


【解决方案1】:

您正在寻找 HTTP Referer 值,在 PHP 中您使用 $_SERVER['HTTP_REFERER'] 获得该值。请注意,这是一个完全由客户端浏览器自愿提供的任意值,因此不能保证它是正确的或可信的。

【讨论】:

  • 另外值得注意的是......如果引用页面是使用安全协议传输的,则客户端不应在(非安全)HTTP 请求中包含Referer 头字段。因此,如果用户从 HTTPS 站点(例如 Google)访问您的 HTTP(非安全)站点,则 HTTP_REFERER 将为空。
  • 所以这个值不是很可靠。这有点问题,因为我需要它。关于如何使其更可靠或使用其他功能的任何想法?
  • @Twisterz 如果你不控制源服务器,你可以让它交出一些令牌或cookie或其他东西......不。
【解决方案2】:

使用 PHPs $_SERVER 变量来获取您页面的引荐来源网址。 http://php.net/manual/en/reserved.variables.server.php

$_SERVER['HTTP_REFERER'];

【讨论】:

    【解决方案3】:

    看看你想要的$_SERVER documentation$_SERVER['HTTP_REFERER'] 但请注意,它并不总是会被设置,它取决于用户代理。

    【讨论】:

    • 是否有保证它被设置,或者使用更可靠的不同功能?
    • 这个问题有一个可接受的答案,这将有助于理解何时不会设置:stackoverflow.com/questions/6880659/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2012-06-01
    相关资源
    最近更新 更多