- XF 兼容性
- 2.3.x
- 摘要
- Challenge suspicious bots with XF Bot Guard, a XenForo-native anti-scraping tool that watches visitor behavior, builds reputation, and challenges risky traffic using native CAPTCHA. Ideal for forum owners tired of anonymous crawlers and scrapers.
XF Bot Guard
挑战可疑的机器人,在它们开始抓取你的论坛之前。XF Bot Guard 是一个针对 XenForo 的原生防爬虫和挑战层,旨在识别可疑的访客行为,随着时间建立声誉,并使用 XenForo 自有的 CAPTCHA 系统来挑战高风险流量。
它专为那些厌倦了匿名爬虫、扒手、激进型机器人以及悄悄消耗内容并增加服务器负载的重复自动化访客而设计。这不仅仅是一个“对所有人显示 CAPTCHA”的插件。XF Bot Guard 首先观察行为,建立访客的形象,并在风险评分超过您配置阈值时才进行挑战。它做了什么XF Bot Guard结合了浏览器指纹识别、行为 heuristic 、IP/会话信誉、路由意识、请求速度,以及原生 XenForo 验证码挑战。
它可以帮助检测并挑战表现出以下迹象的访客:
- []
- 没有JavaScript/指纹信号[]缺少或不一致的Cookies[]完全沒有任何瀏覽器證實信號[]重复从不同的IP访问[]一个指纹出现在多个IP地址上[]一个IP地址关联到多个指纹[]*]不寻常的请求速度[]反复探测敏感或错误路由[]*]用户代理更改[]国家/ASN变更处代理头可用[]*]失败的验证码尝试*
它会变得越来越聪明,随着行为的积累。XF Bot Guard 不需要在访客第一次请求时就立即阻止或挑战每一个访客。
相反,它会监控访客的行为,并使用哈希的浏览器、IP 和会话信号来构建声誉。这意味着当同一个爬虫、抓取器或爬行器继续与你的论坛互动时,它可以变得更为有效。
这尤其适用于较慢或更小心的爬虫。一个避开明显高速抓取的机器人可能会随着时间发展出指纹、IP 使用情况、会话连续性、路线活动和请求历史而显得可疑。原生 XenForo 防火墙挑战XF Bot Guard使用XenForo配置的CAPTCHA提供者。
这意味着挑战体验仍然保持为XenForo的原生形式,而不是依赖于外部挑战页面、iframe、代理或第三方SaaS层。
为了获得最佳效果,请在启用XF Bot Guard之前在XenForo中配置CAPTCHA。挑战行为XF Bot Guard挑战了主要公共页面的浏览量。其他请求类型在安全的情况下仍可观察和记录,但CAPTCHA挑战故意应用于正常的页面导航请求中。
这避免破坏表单、AJAX请求、支付回调、API请求、登录/注册流程以及其他敏感的XenForo行为。
在实际操作中:
- []可疑行为可以在多种请求类型中进行监控。[]*[实际的验证码挑战发生在安全的页面请求上。][]访客如果无法完成挑战将被有效阻止继续通过受保护的页面。
- []所有公共页面[]*]Threads 只有[]*]论坛和论坛[]选择内容类型[]选择了路线[]定制路径
- []仅限客人[]*]客人和注册用户[]*]客人和注册用户(除员工外)[]排除用户组
风险可能因如指纹数据缺失、无cookie连续性、异常的指纹/IP关系、路由探测、高请求速率、失败的验证码尝试以及其他可疑行为而增加。
对于受信任的访客、已登录用户、员工和最近完成验证码挑战的访客,风险可能会降低。
你控制着挑战阈值。事件日志XF Bot Guard 包括一个管理员侧的事件日志,您可以检查决策并理解为什么流量被允许、监控、跳过、挑战或信任。记录的信息可能包括:
- []决策类型[]事件类型[]风险评分[]*]原因代码[]*]路由/控制器/操作上下文[]请求方法[]]*路*[]哈希化的访客/IP/会话标识符[]通过/失败的验证码事件[]*]Bootstrap/Grace事件
相反,它用于声誉和滥用检测存储哈希标识符。
本地使用捆绑的 FingerprintJS 库执行浏览器指纹收集。不需要外部指纹服务账户。
站点所有者仍应根据需要更新其隐私政策,因为此附加组件执行反滥用指纹识别和行为监控。没有外部服务要求XF Bot Guard 不需要:
- []付费订阅[]*]一个API密钥[]*]一个云账户[]*A CDN账户[]*]一个外部bot检测服务*][]*]任何第三方XenForo插件
XF Bot Guard在XenForo层工作,它可以看见论坛路由、会话、Cookies、指纹、内容上下文以及XenForo特有的行为,而这些可能是边缘层无法完全理解的。
这不是对良好服务器/CDN安全的替代品。这是对XenForo原生的一层补充。这不是什么XF Bot Guard 不是防火墙、反向代理、CDN 或 Web 服务器级别的阻止器。
它不能保证在请求到达 PHP 之前阻止所有可能的爬虫。
使用真实浏览器、稳定的 cookie、JavaScript 执行、缓慢的请求模式以及解决验证码的高级抓取工具仍然有可能通过。
目标是通过检测可疑行为并迫使它们通过挑战来阻止或挫败大多数不想要的自动化访客,从而保护受保护的内容不受自由浏览。
对于大多数实用的抓取器来说,失败挑战意味着被阻断。默认行为默认配置旨在作为合理的起始点:
- []保护公共页面[]默认对客人限售[]使用浏览器指纹识别[]使用行为评分[]使用XenForo验证码进行挑战[]允许一个短暂的引导期,以便正常浏览器有时间运行JavaScript[]防止无浏览器验证的高风险交通接收到初始引导 grace[]信任访客在成功挑战后可配置时间段内使用[]记录安全事件以供审查
它已经准备好进行测试和实际使用,但网站所有者在安装后应仔细审查设置并监控事件日志。
- []在可能的情况下,在测试/ staging论坛上先安装。[]确保XenForo验证码配置正确。[]从默认设置开始。[]测试一下使用它。test script shared in the FAQ.[]审查事件日志。[]调整挑战阈值和保护范围作为需要。
- []将附加文件上传到您的XenForo安装。[]安装XF bot 守护者从XenForo管理控制面板。[]配置XenForo验证码如果尚未配置。[]审查Bot Guard选项。[]启用该附加功能。[]监控Bot Guard日志,并根据需要调整设置。
- []确认XenForo中已启用CAPTCHA。[]确认你的主题包含标准的 PAGE_CONTAINER body 输出。[]确认您的论坛可以从JavaScript文件中访问。[]如果使用CDN或代理,请确保在XenForo/服务器设置中正确配置真实访客IP处理。[]如果信任验证的bot头部,仅在这些头部来自您控制或信任的基础架构时使用,并且您的源地址不可直接到达。
该资源可免费使用,但不开放源代码。未经开发人员书面许可,不得分发、重新销售、再许可、发布修改版本或删除版权/许可证声明。概述XF Bot Guard为XenForo论坛提供了一个原生的可配置的解释性挑战层,用于检测可疑的机器人和爬虫。
它首先监视行为,评分并随着时间建立声誉,在他们继续自由浏览受保护的内容之前,会挑战风险较高的访客。