【问题标题】:Get original URL referer with PHP?使用 PHP 获取原始 URL 引用?
【发布时间】:2010-12-24 06:56:21
【问题描述】:

我正在使用$_SERVER['HTTP_REFERER']; 来获取引荐来源网址。它按预期工作,直到用户单击另一个页面并且引用者更改为最后一页。

如何存储原始引用 URL?

【问题讨论】:

    标签: php http-referer


    【解决方案1】:

    将其存储在 cookie 中(如果您的情况可以接受)或会话变量中。

    session_start();
    
    if ( !isset( $_SESSION["origURL"] ) )
        $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"];
    

    【讨论】:

    • 请在下面的答案中注意@pcp 的建议!
    • 请注意,您还应该检查http_referer 是否存在,因为它通常不存在,这可能会导致“未定义索引”错误。
    【解决方案2】:

    正如 Johnathan 所建议的,您可能希望将其保存在 cookie 或会话中。

    更简单的方法是使用 Session 变量。

    session_start();
    if(!isset($_SESSION['org_referer']))
    {
        $_SESSION['org_referer'] = $_SERVER['HTTP_REFERER'];
    }
    

    将其放在页面顶部,您将始终能够访问指向该网站访问者的第一个引荐来源。

    【讨论】:

      【解决方案3】:

      将其存储在仅持续当前浏览会话的 cookie 中

      【讨论】:

        【解决方案4】:

        在大多数情况下,使用 Cookie 作为参考页面的存储库要好得多,因为 cookie 会保留引荐来源网址直到浏览器关闭(并且即使浏览器选项卡关闭也会保留它),所以如果用户让页面保持打开状态,假设在周末之前,并在几天后返回它,您的会话可能会过期,但 cookie 仍然会存在。

        将该代码放在页面的开头(在任何 html 输出之前,因为 cookie 只会在任何回显/打印之前正确设置):

        if(!isset($_COOKIE['origin_ref']))
        {
            setcookie('origin_ref', $_SERVER['HTTP_REFERER']);
        }
        

        然后你可以稍后访问它:

        $var = $_COOKIE['origin_ref'];
        

        除了 @pcp 关于转义 $_SERVER['HTTP_REFERER'] 的建议之外,在使用 cookie 时,您可能还想在每个请求上转义 $_COOKIE['origin_ref']。

        【讨论】:

          【解决方案5】:

          试试这个

          (isset ($_SERVER['HTTP_CLIENT_IP']) ? 
              $_SERVER['HTTP_CLIENT_IP'] : 
              (isset ($_SERVER['HTTP_X_FORWARDED_FOR']) ? 
                  $_SERVER['HTTP_X_FORWARDED_FOR'] : 
                  $_SERVER['REMOTE_ADDR']
              )
          )
          

          【讨论】:

          • 这是关于获取IP ADDRESS 但该帖子是关于导致问题的REFERER 网页。
          • 回答了一个不同的问题,应该被删除。
          猜你喜欢
          • 2021-12-08
          • 1970-01-01
          • 2011-07-26
          • 2018-02-09
          • 2012-01-31
          • 2010-10-21
          • 2015-03-23
          • 1970-01-01
          • 2017-05-02
          相关资源
          最近更新 更多