在PHP中,请求来源域名通常指的是发起HTTP请求的客户端(如浏览器)所使用的域名。这个信息可以通过HTTP请求头中的Host
字段获取。服务器接收到请求后,可以解析这个字段来确定请求的来源域名。
<?php
$host = $_SERVER['HTTP_HOST'];
echo $host;
?>
<?php
$allowedDomains = ['example.com', 'www.example.com'];
$host = $_SERVER['HTTP_HOST'];
if (!in_array($host, $allowedDomains)) {
header('HTTP/1.0 403 Forbidden');
echo 'Access denied';
exit();
}
?>
$_SERVER['HTTP_HOST']
有时为空?这通常是因为请求没有包含Host
头字段,或者在某些特殊的网络环境下被篡改。可以通过检查$_SERVER['SERVER_NAME']
和$_SERVER['SERVER_PORT']
来作为备选方案。
<?php
if (empty($_SERVER['HTTP_HOST'])) {
$host = $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'];
} else {
$host = $_SERVER['HTTP_HOST'];
}
echo $host;
?>
通过以上信息,您应该能够更好地理解和处理PHP请求来源域名相关的问题。
领取专属 10元无门槛券
手把手带您无忧上云