完整拦截伪造 UA Chrome/142 两种方案

2026-06-24 23:34 栏目: 技术学堂 查看()

12.png


方案一:Nginx 站点配置拦截(精准、免费、优先部署,单站生效)

步骤 1:进入站点 Nginx 配置

登录宝塔 → 左侧【网站】→ 找到 nbvr.cn,点右侧【设置】

左侧菜单选择【配置文件】,打开 Nginx 站点配置(server 块)


步骤 2:插入拦截代码(关键位置,不能放错)

找到 server { 大括号内,所有 location / 代码段的上方,粘贴下面完整拦截规则:


# 拦截伪造Chrome142刷量UA,大小写不敏感匹配

if ($http_user_agent ~* "Chrome/142") {

    return 403; # 返回403禁止访问,直接阻断请求

}


语法说明

~*:代表不区分大小写匹配,防止工具写成 chrome/142 绕过;

Chrome/142:精准匹配日志里的伪造版本号;

return 403:拒绝访问,不会进入网站程序,节省服务器资源。


步骤 3:校验语法 + 重载 Nginx(必做,避免网站打不开)

配置页右上角【保存】

宝塔左侧【软件商店】→ Nginx → 点【重载配置】

如果提示语法报错,检查代码是否少分号、括号错位;

无报错即规则正式生效。


验证规则是否生效

打开网站访问日志 /www/wwwlogs/xxxxx.cn-access_log

检索关键词 Chrome/142,不会再出现 200 正常访问记录,只会出现大量 403 拦截记录。


方案二:全局服务器拦截(所有网站统一拦截,多站点适用)

如果服务器还有其他网站,想要全部拦截 Chrome/142:

1.宝塔【软件商店】→ Nginx → 配置修改

2.打开最顶部 nginx.conf(全局主配置)

3.在 http { } 大括号内任意位置添加:


map $http_user_agent $block_chrome142 {

    default 0;

    ~* "Chrome/142" 1;

}


4.回到每个站点 server 块,添加判断:


if ($block_chrome142) {

    return 403;

}


5.重载 Nginx 配置。


常见踩坑 & 避坑指南

坑 1:规则放错位置,拦截不生效

❌ 错误:写在 location / { } 内部,部分请求会绕过规则

✅ 正确:放在 server { } 内、所有 location 上方,全站所有 URL 统一拦截


坑 2:正则符号没转义(极少数工具变种 UA)

如果后续出现 Chrome/142.0.0.0 完整版本号,正则写法需要转义小数点:


if ($http_user_agent ~* "Chrome/142\.0") {

    return 403;

}


坑 3:只开防火墙 UA 过滤,不配置站点 Nginx 规则

防火墙属于上层防护,极少数代理请求可绕过,推荐两种方案同时开启,双层拦截。


坑 4:分不清真实 Chrome142 和伪造 UA

目前官方 Chrome 稳定版最高 130+,不存在真实 Chrome/142 浏览器,匹配到该 UA 全部是刷量脚本,放心拦截,不会误伤真实访客。


配套 CC 流量防护(辅助减少刷量压力)

1.Nginx 防火墙开启【CC 防护】

        单 IP 每分钟最大请求:20 次

        超过自动临时拉黑 IP5 分钟

2.宝塔【安全】→ 防火墙,开启系统层 CC 防护,双重限流。


拦截完成后的自检步骤(确认效果)

1.查看网站访问日志,搜索 Chrome/142,状态码全部为 403;

2.Nginx 防火墙拦截日志持续产生 Chrome/142 拦截记录;

3.易优后台访客统计 ey_visit 表不再新增大批量机器访问记录;

4.服务器 CPU、带宽负载明显下降,虚假访问量大幅减少。


扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

郑重申明:宁波优景摄影以外的任何单位或个人,不得使用该案例作为工作成果展示!