遇到 伪referer 来路攻击可以写个代码把垃圾浏览转向到其他url

180it 2025-11-09 PM 7℃ 0条

遇到 伪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;
        }
    }
}
支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

遇到 伪referer 来路攻击可以写个代码把垃圾浏览转向到其他url

上一篇 php 获取访客来路 并保存到txt文件
下一篇 没有了