以下功能的用途是什么?

时间:2010-08-04 17:42:23

标签: php

请看看这个功能

function CheckHost()
{
    $url = parse_url($_SERVER['HTTP_REFERER']);
    $host = $url['host'];
    if($host == $_SERVER['SERVER_NAME'])
        return true;
    return false;
}

我在某处看到了它,但无法理解它的用法。

是出于安全原因,还是什么?(正如我所见,它只是验证来自与脚本相同的服务器的最后一个请求)

感谢您的关注

4 个答案:

答案 0 :(得分:2)

我认为这是对cross-site request forgeries (CSRFs)的简单检查,或者正如其他人所说的那样,是热链接。调用此函数的PHP脚本必须在每个HTTP请求上执行到服务器,以便检查热链接。

答案 1 :(得分:0)

它检查referer是否等于脚本位置,基本上它的功能可能是为了防止热链接。

答案 2 :(得分:0)

看起来它检查引用者是否与请求的主机名相同。这可能用于防止其他网站直接链接到图像或其他内容。

答案 3 :(得分:0)

这可以用于CSRF protection。裁判将始终属于不同的域,因此CheckHost()将返回false。