请看看这个功能
function CheckHost()
{
$url = parse_url($_SERVER['HTTP_REFERER']);
$host = $url['host'];
if($host == $_SERVER['SERVER_NAME'])
return true;
return false;
}
我在某处看到了它,但无法理解它的用法。
是出于安全原因,还是什么?(正如我所见,它只是验证来自与脚本相同的服务器的最后一个请求)
感谢您的关注
答案 0 :(得分:2)
我认为这是对cross-site request forgeries (CSRFs)的简单检查,或者正如其他人所说的那样,是热链接。调用此函数的PHP脚本必须在每个HTTP请求上执行到服务器,以便检查热链接。
答案 1 :(得分:0)
它检查referer是否等于脚本位置,基本上它的功能可能是为了防止热链接。
答案 2 :(得分:0)
看起来它检查引用者是否与请求的主机名相同。这可能用于防止其他网站直接链接到图像或其他内容。
答案 3 :(得分:0)
这可以用于CSRF protection。裁判将始终属于不同的域,因此CheckHost()
将返回false。