php怎么获取来路url

不及物动词 其他 190

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,可以通过$_SERVER全局变量的HTTP_REFERER参数来获取来路URL。

    HTTP_REFERER参数保存了当前页面的前一个页面的URL。在PHP中,可以使用以下代码获取来路URL:

    “`php
    $referer = $_SERVER[‘HTTP_REFERER’];
    “`

    需要注意的是,HTTP_REFERER参数只在当前请求有来路URL时才会存在,否则该参数将为空。

    另外,需要注意的是,HTTP_REFERER是一个不可信的数据,因为它可以被用户或浏览器篡改。在某些情况下,浏览器可能会禁用或不发送HTTP_REFERER参数。所以,在使用HTTP_REFERER参数时,需要做好安全性判断,不要将其作为重要参数来依赖和验证。

    另外,如果你需要获取当前页面的URL,可以通过$_SERVER全局变量的REQUEST_URI参数来获取,如下所示:

    “`php
    $currentUrl = $_SERVER[‘REQUEST_URI’];
    “`

    这样就可以获取到当前页面的URL了。

    希望上述内容能对你有帮助。如果还有其他问题,请随时提问。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    获取来路URL可以使用超全局变量$_SERVER中的HTTP_REFERER键值对。HTTP_REFERER存储着用户浏览器上一次访问的URL。

    以下是在PHP中获取来路URL的几种方法:

    方法1:使用$_SERVER[‘HTTP_REFERER’]
    “`php
    if (isset($_SERVER[‘HTTP_REFERER’])) {
    $referrer = $_SERVER[‘HTTP_REFERER’];
    echo “来路URL是:” . $referrer;
    } else {
    echo “没有找到来路URL”;
    }
    “`

    方法2:使用filter_input()函数
    “`php
    $referrer = filter_input(INPUT_SERVER, ‘HTTP_REFERER’);
    if ($referrer) {
    echo “来路URL是:” . $referrer;
    } else {
    echo “没有找到来路URL”;
    }
    “`

    方法3:使用$_SERVER[‘HTTP_REFFER’]的替代方案
    “`php
    $referrer = isset($_SERVER[‘HTTP_REFFER’]) ? $_SERVER[‘HTTP_REFFER’] : null;
    if ($referrer) {
    echo “来路URL是:” . $referrer;
    } else {
    echo “没有找到来路URL”;
    }
    “`

    方法4:使用parse_url()函数获取来路域名
    “`php
    $referrer = isset($_SERVER[‘HTTP_REFERER’]) ? $_SERVER[‘HTTP_REFERER’] : null;
    if ($referrer) {
    $parts = parse_url($referrer);
    if (isset($parts[‘host’])) {
    $domain = $parts[‘host’];
    echo “来路URL的域名是:” . $domain;
    } else {
    echo “来路URL的域名无法解析”;
    }
    } else {
    echo “没有找到来路URL”;
    }
    “`

    方法5:使用正则表达式获取来路URL
    “`php
    $referrer = isset($_SERVER[‘HTTP_REFERER’]) ? $_SERVER[‘HTTP_REFERER’] : null;
    if ($referrer) {
    preg_match(‘/^(https?:\/\/)?([^\/]+)/i’, $referrer, $matches);
    if (isset($matches[2])) {
    $domain = $matches[2];
    echo “来路URL的域名是:” . $domain;
    } else {
    echo “来路URL的域名无法解析”;
    }
    } else {
    echo “没有找到来路URL”;
    }
    “`

    以上是获取来路URL的几种常见方法,可以根据实际需求选择适合的方法来获取来路URL信息。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,可以通过`$_SERVER[‘HTTP_REFERER’]`获取来路URL。`$_SERVER`是一个内置的PHP全局变量,包含了有关服务器和执行环境的信息。其中,`$_SERVER[‘HTTP_REFERER’]`返回当前页面的来源页面的URL。

    要获取来路URL,只需使用`$_SERVER[‘HTTP_REFERER’]`即可。下面是具体的操作流程:

    1. 创建一个PHP文件
    首先,打开文本编辑器,创建一个扩展名为`.php`的PHP文件。

    2. 编写代码
    在PHP文件中,编写以下代码:

    “`php

    “`

    代码说明:
    – 第1行使用`$_SERVER[‘HTTP_REFERER’]`将来路URL存储在一个变量`$referer`中。
    – 第4行使用`echo`语句将来路URL打印出来。

    3. 保存文件并运行
    将文件保存为`.php`格式,例如`referer.php`。
    确保该文件位于能够访问的Web服务器的文档根目录下。然后,在浏览器中输入文件的URL,即可运行PHP代码。

    例如,如果文件位于本地服务器上的`htdocs`目录下,可以在浏览器中输入`http://localhost/referer.php`进行访问。

    4. 查看结果
    运行PHP文件后,将在浏览器中显示类似以下的结果:

    “`
    来路URL:http://www.example.com/
    “`

    结果中的URL即为来路URL。

    需要注意的是,`$_SERVER[‘HTTP_REFERER’]`可能会不可靠,因为它依赖于用户浏览器发送的`Referer`请求头。
    有些浏览器可能不发送`Referer`请求头,或者用户可能通过插件或配置修改或删除该头部信息。因此,不能将`$_SERVER[‘HTTP_REFERER’]`视为绝对可靠的来源URL。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部