php 怎么获取原始连接

不及物动词 其他 123

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,可以使用`$_SERVER[‘HTTP_REFERER’]`来获取原始连接。该方法返回链接到当前页面的URL地址。在使用时,需要注意以下几点:

    1. `$_SERVER[‘HTTP_REFERER’]`变量只有在页面是通过链接跳转而来时才会有值。如果直接在浏览器中输入URL或刷新页面,则该变量为空。
    2. 由于该变量是从HTTP请求头信息中获取的,所以并不是所有浏览器都会发送referer头部。在某些情况下,该变量可能为空,或者在某些浏览器中,用户可以选择不发送referer头部。
    3. 由于referer头部是由客户端提供的,所以该值是不可信的。用户可以篡改referer头部,或者使用一些插件来隐藏referer信息。

    以下是一个示例代码,演示如何使用`$_SERVER[‘HTTP_REFERER’]`来获取原始连接:

    “`php
    if(isset($_SERVER[‘HTTP_REFERER’])){
    $referer = $_SERVER[‘HTTP_REFERER’];
    echo “原始链接:” . $referer;
    }else{
    echo “没有原始链接”;
    }
    “`

    需要注意的是,在使用`$_SERVER[‘HTTP_REFERER’]`时,应该先进行必要的验证和处理,以防止恶意攻击或其他安全问题的发生。在实际应用中,可能需要对referer值进行过滤或只允许特定的来源。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,可以使用`$_SERVER`超全局变量来获取原始连接。`$_SERVER[‘REQUEST_URI’]`返回的是完整的URL,包括协议、域名、端口号、路径以及查询字符串等信息。

    下面是在PHP中获取原始连接的几种方法:

    1. 使用`$_SERVER[‘REQUEST_URI’]`变量:

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

    2. 使用`$_SERVER[‘PHP_SELF’]`变量:

    “`php
    $uri = $_SERVER[‘PHP_SELF’];
    “`

    3. 使用`$_SERVER[‘SCRIPT_NAME’]`变量:

    “`php
    $uri = $_SERVER[‘SCRIPT_NAME’];
    “`

    4. 使用`$_SERVER[‘SCRIPT_FILENAME’]`变量:

    “`php
    $uri = $_SERVER[‘SCRIPT_FILENAME’];
    “`

    5. 使用`$_SERVER[‘DOCUMENT_ROOT’]`变量:

    “`php
    $uri = $_SERVER[‘DOCUMENT_ROOT’] . $_SERVER[‘SCRIPT_NAME’];
    “`

    需要注意的是,以上方法获取的原始连接可能会受到服务器配置的影响,比如URL重写等。

    另外,如果希望获取URL中的特定部分,例如域名或路径,可以使用`parse_url()`函数来解析URL。示例如下:

    “`php
    $url = ‘http://www.example.com/path/to/file.php?param1=value1&param2=value2’;
    $url_parts = parse_url($url);
    $domain = $url_parts[‘scheme’] . ‘://’ . $url_parts[‘host’];
    $path = $url_parts[‘path’];
    $query_string = $url_parts[‘query’];
    “`

    在上述示例中,`$domain`变量将包含`http://www.example.com`,`$path`变量将包含`/path/to/file.php`,`$query_string`变量将包含`param1=value1&param2=value2`。

    无论使用哪种方法,获取原始连接后,我们就可以根据需要对URL进行进一步处理或分析。

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

    获取原始连接需要使用 PHP 的 `$_SERVER` 变量来获取客户端请求的信息。具体可以通过以下步骤来获取原始连接:

    1. 使用 `$_SERVER[‘REQUEST_URI’]` 变量获取原始链接。

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

    2. 获取原始链接中的协议和域名。

    “`php
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
    $hostname = $_SERVER[‘HTTP_HOST’];

    $originalUrl = $protocol . ‘://’ . $hostname . $originalUrl;
    “`

    3. 获取原始链接中的查询参数。

    “`php
    $queryString = $_SERVER[‘QUERY_STRING’];

    $originalUrl = $originalUrl . ‘?’ . $queryString;
    “`

    4. 完整代码示例:

    “`php
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
    $hostname = $_SERVER[‘HTTP_HOST’];
    $originalUrl = $_SERVER[‘REQUEST_URI’];

    $originalUrl = $protocol . ‘://’ . $hostname . $originalUrl;

    $queryString = $_SERVER[‘QUERY_STRING’];
    $originalUrl = $originalUrl . ‘?’ . $queryString;

    echo “原始链接:”. $originalUrl;
    “`

    上述代码中,我们使用了 `$_SERVER[‘REQUEST_URI’]` 获取了客户端请求的原始链接,并根据情况判断了协议和域名。最后,将原始链接和查询参数拼接成了完整的原始链接,并输出到页面上。

    注意,以上方法获取的是客户端发送的完整原始链接,包括协议、域名、路径和查询参数等信息。

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

400-800-1024

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

分享本页
返回顶部