要使用 PHP 获取 XHR 请求的来源,您可以使用:
$_SERVER['HTTP_ORIGIN']
并且,在直接请求的情况下,您可以组合HTTP_REFERER 和REMOTE_ADDR,例如:
if (array_key_exists('HTTP_REFERER', $_SERVER)) { $origin = $_SERVER['HTTP_REFERER']; } else { $origin = $_SERVER['REMOTE_ADDR']; }
因此,最终可能的解决方案是:
if (array_key_exists('HTTP_ORIGIN', $_SERVER)) { $origin = $_SERVER['HTTP_ORIGIN']; } else if (array_key_exists('HTTP_REFERER', $_SERVER)) { $origin = $_SERVER['HTTP_REFERER']; } else { $origin = $_SERVER['REMOTE_ADDR']; }