要实现百度、必应、360、搜狗、谷歌的竞价系统和爬虫完全无法抓取内容,我们需要从 UA 过滤 + 自动化行为特征 + 协议响应三个维度进行“铁桶式”配置。 1. 深度 Nginx 配置: 多维度拦截 建议将以下配置放入 Nginx 的 server 块中。这套逻辑采用了“默认禁止,仅限 Windows”的最高安全策略。 set $block_it 1; if ($http_user_agent ~* "Windows NT") { set $block_it 0; } if ($http_user_agent ~* "Baidu|pro-market-monitor|Baidu-Market-Ad|Google|AdsBot|Mediapartners|GoogleAd|AppEngine|Bing|adidxbot|BingPreview|MSNBot|360Spider|Sogou|Yisouspider|Haosou|Shenma|Python|curl|Wget|Scrapy|Playwright|Puppeteer|Selenium|Headless") { set $block_it 1; } if ($http_user_agent ~* "Macintosh|Android|iPhone|iPad|Mobile|Windows Phone|MQQBrowser") { set $block_it 1; } if ($block_it = 1) { return 404; } 2. 针对“竞价广告”和“高级爬虫”的专项防御 竞价广告系统(如百度凤巢、谷歌 Ads)为了审核页面合规性,有时会使用非常真实的浏览器内核进行访问。 除了 UA 过滤,您还需要配合以下手段: A. Robots.txt 协议声明(防君子) 虽然您想直接拦截,但补齐协议可以让那些遵循协议的官方爬虫提前退散 User-agent: * Disallow: / B. 拦截无 Referer 访问(可选) 大部分真实的 Windows 用户是从某个页面跳转或直接输入地址,而爬虫通常是孤立请求。如果您只允许通过特定链接进入,可以开启 Referer 检查。 C. IP 段拦截(针对云机房) 大部分竞价审核系统和爬虫运行在云服务器(如阿里云、腾讯云、AWS)上。如果您的业务非常单一,可以考虑屏蔽这些云机房的 IP 段,但这可能会误伤使用 VPN 的真实用户。