UA(User-Agent)名单拦截是一种有效的网络安全手段。User-Agent 是 HTTP 请求头的一部分,包含了用户访问时所使用的操作系统及版本、浏览器类型及版本等标识信息。通过识别这个字段,我们可以对访客的行为进行规范。
例如,在防盗链方面,UA 名单拦截可以防止未经授权的链接访问资源。如果某个资源设置了 UA 白名单,那么只有白名单内的 UA 可以访问该资源,白名单之外的访问工具全部拒绝访问,节点响应 403 状态码。同理,对于 UA 黑名单,黑名单内的 UA 无法访问资源,而黑名单之外的访问工具全部允许访问。
在实际应用中,UA 名单拦截还可以用于防盗刷和防攻击。比如,一些恶意爬虫可能会使用特定的 UA 来抓取网站内容,通过将这些恶意 UA 加入黑名单,可以有效阻止它们的访问,减少服务器负载。据统计,一些网站每天可能要处理数百万次请求,其中大多数请求都不是真实用户发起,而是各种恶意爬虫。这些恶意爬虫以每分钟几十次上百次的频率进行抓爬,不仅不会给网站带来任何益处,还会造成服务器负载过高影响正常访问。
此外,UA 黑名单与 UA 白名单只能二选一,不可同时配置,为互斥关系。配置 UA 名单拦截也比较简单,以天翼云为例,登录客户控制台,找到目标域名进行编辑,在【访问控制】中打开【UA 黑白名单】功能,设置类型为白名单或黑名单,使用换行符分隔,支持正则表达式,配置完成后单击【保存】即可。
二、UA 名单拦截的作用
(一)规范访客行为
UA 名单拦截能够精准地规范访客行为。通过设置 UA 白名单,我们可以明确规定哪些特定的访问工具可以访问资源。例如,在一些对安全性要求较高的企业内部系统中,只允许特定版本的浏览器或特定的操作系统访问,这样可以确保访问的合法性和稳定性。同时,UA 黑名单则可以禁止那些不被信任的访问工具。比如,某些恶意软件可能会伪装成正常的浏览器发送请求,通过将其对应的 UA 加入黑名单,可以有效地阻止这些恶意软件的访问,保障系统的安全。
(二)防止恶意刷量
恶意刷量是网络安全中的一个严重问题,而 UA 名单拦截在防止恶意刷量方面发挥着重要作用。很多恶意刷量行为是由特定的恶意蜘蛛 UA 发起的,通过将这些恶意蜘蛛 UA 加入黑名单,可以有效地阻止它们的刷量行为。据统计,在一些遭受恶意刷量攻击的网站中,通过使用 UA 黑名单拦截恶意蜘蛛 UA,能够减少高达 80% 的恶意刷量流量。例如,某些网站在使用 UA 黑名单功能后,原本因为恶意刷量而导致的高带宽消耗得到了显著降低,服务器负载也明显减轻,从而保障了网站的正常运行。
(三)增强网络安全
UA 名单拦截对于增强网络安全至关重要。爬虫抓取数据可能会导致关键数据的流失,给企业和个人带来严重的损失。通过设置 UA 黑名单,可以有效防止爬虫抓取数据。例如,一些重要的商业数据网站,通过将常见的爬虫 UA 加入黑名单,成功地保护了关键数据不被非法获取。同时,UA 名单拦截还可以与其他网络安全措施相结合,如 IP 黑名单、URL 黑名单等,共同构建一个更加安全的网络环境。这样可以从多个维度对网络访问进行控制,进一步增强网络安全,保护用户的隐私和数据安全。
三、不同平台的 UA 名单拦截方法
(一)知乎的 UA 名单拦截方法
知乎在反爬方面采取了多种措施,其中包括对可能是爬虫类的 UA 标识进行识别。例如,知乎通过反爬措施识别可能是爬虫类的 UA 标识,如谷歌搜索的爬虫都会显示乱码内容。用户通过搜索引擎打开知乎都可能全页显示乱码内容,这种情况显然也是知乎正在保护自己的数据避免被抓取拿去训练 AI。
对于 Selenium 无头浏览器被限制访问的问题,可以通过自行指定 UA 来解决。先将 headless 选项禁用,发现脚本可以正常访问知乎。那么问题的解决就变得十分简单了,只需要自行指定 UA 即可。如在代码中添加options.add_argument('--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/
114.0.0.0 Safari/537.36')。
(二)公众号的 UA 名单拦截方法
在公众号方面,可以通过设置特定的 UA 模拟微信浏览器打开公众号文章。有部分公众号文章只能使用微信浏览器打开,通过 chorme 设置 ua 仍然会被拦截,这时候可以选择一些工具进行模拟,如微信浏览器模拟器。下载地址亲测可用,注意设置 UA:Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; GT-S5660 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.255。
此外,公众号还可以通过关键词拦截技巧来吸引流量。比如实时注意微博热搜榜、飙升榜,快速找到一些比较不错的词进行公众号注册,实现拦截。数据平台也可以快速拦截一些有价值的词,朋友圈社群、名人明星代言、今日热榜、5118 等都是获取流量关键词的地方。在注册公众账号时,如果需要提供相关资质,一般提供营业执照就可以了,有条件的话,最好是公众账号认证多年。关键词选取时,字数越少越好,可采用加字母、数字、同意字、用汉语拼音等方法进行注册。同时,要注意公众号拦截非腾讯系,拦截竞争对手佳,对手投诉也很难投诉掉!拦截流量,首先选择个人号拦截,并在描述中给潜在用户一个关注的理由。提供优质内容才能长久健康良性循环。
四、UA 名单拦截平台有哪些
(一)宝塔防火墙
宝塔防火墙提供了 UA 黑白名单设置功能。其中,UA 白名单在初始化阶段可设置特定的 User-Agent,若没有特殊需求可保持默认。UA 黑名单则主要用于拦截恶意蜘蛛 UA,不想被爬虫爬取网站时,只需将恶意爬虫的关键词加入黑名单即可实现拦截,且不会生成拦截日志。此外,它还提供了 IP 白名单、IP 黑名单、URL 白名单和 URL 黑名单设置,进一步增强了网站的安全性。
(二)蓝点网
蓝点网近期发现了部分恶意 UA,如含小米 9、OPPO R9SK、MSIE 系列等。这些恶意 UA 高频次抓爬内容,给服务器带来过高负载。检测到这些恶意 UA 后,蓝点网将其屏蔽,例如将相关 UA 关键词如 Build/NMF26F、Build/PKQ1.181121.001、Build/MRA58N、MSIE 等添加到黑名单,通过 Nginx 返回 HTTP 444 直接丢弃这些连接,减少服务器的负载。
(三)常见 WAF 产品
- CloudFlare:为免费用户推出 AI 爬虫防护功能,可一键开启自动拦截各种 AI 爬虫避免网站数据被用于训练模型。新推出的防护功能面向所有用户,无论是免费还是订阅用户,只需要一键开启该选项后即可阻止机器人和爬虫抓取网站内容。其背后的运作原理大概率是 CloudFlare 已经整理并识别常见的 AI 爬虫,只要根据这些爬虫的名称进行拦截即可。
- 硬件型 WAF:以独立硬件设备形态存在,支持多种部署方式,如绿盟、安恒、启明星辰等老牌厂商旗下的 WAF。
- 软件型 WAF:采用纯软件方式实现,代表有 ModSecurity、Naxsi、ShareWAF、安全狗等。
- 云 WAF:以反向代理形式工作,如阿里云、腾讯云、深信服云 WAF、Imperva WAF 等。这些 WAF 产品在保护网站安全方面发挥着重要作用,其中部分产品可能也涉及到 UA 名单拦截功能,以防止恶意爬虫和机器人的攻击。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,