是的,http_referer
可以用于验证。http_referer
是一个 PHP 超全局变量,它包含了发起当前请求的页面的 URL。你可以使用这个变量来验证用户是否来自预期的来源。
例如,你可以检查 $_SERVER['HTTP_REFERER']
是否包含你期望的域名或路径。但请注意,http_referer
可能会被用户或浏览器伪造,因此不建议将其作为唯一的安全措施。在实际应用中,你可能还需要结合其他验证方法,如验证码、CSRF 令牌等,以提高安全性。
以下是一个简单的示例,展示了如何使用 http_referer
进行验证:
function is_referer_valid($expected_domain) {
return isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], $expected_domain) !== false;
}
$expected_domain = 'example.com';
if (is_referer_valid($expected_domain)) {
echo 'Referer is valid!';
} else {
echo 'Referer is not valid.';
}
在这个示例中,is_referer_valid
函数接受一个期望的域名作为参数,并检查 $_SERVER['HTTP_REFERER']
是否包含该域名。如果包含,则返回 true
,否则返回 false
。