遇到 伪referer 来路攻击可以写个代码把垃圾浏览转向到其他url
<?php
/**
* 获取并验证 Referer(返回合法 URL 或 null)
*/
function getRefererUrl(): ?string {
if (empty($_SERVER['HTTP_REFERER'])) return null;
$url = trim($_SERVER['HTTP_REFERER']);
if (!filter_var($url, FILTER_VALIDATE_URL)) return null;
return $url;
}
// 使用
$referer = getRefererUrl();
if ($referer !== null) {
// 2) 判断是否匹配要重定向的后缀或模式
// 检查 host 是否以 .info/.cc/.pro 结尾,或 URL 中包含 ".info/" 等
$host = parse_url($referer, PHP_URL_HOST) ?: '';
$shouldRedirect = false;
if (preg_match('/\.(info|cc|pro)$/i', $host)) {
$shouldRedirect = true;
} elseif (preg_match('/\.(info|cc|pro)\//i', $referer)) {
$shouldRedirect = true;
}
// 3) 执行重定向(如果 headers 已发送则使用 JS 退路)
if ($shouldRedirect) {
$target = 'https://www.txttool.cn/';
if (!headers_sent()) {
header('Location: ' . $target, true, 302);
exit;
} else {
// fallback:使用 JS 重定向(仅当输出已开始且无法发送 header)
echo '<script>window.location.href="' . htmlspecialchars($target, ENT_QUOTES, 'UTF-8') . '";</script>';
exit;
}
}
}
如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!
支付宝打赏
微信打赏

txttool.com 说一段 esp56物联 查询128 IP查询