保护广告免受点击欺诈,保护网站免受机器人攻击
想象一下,每天有成千上万的机器人涌入您的网站。它们抓取您的内容、点击您的广告、压垮您的服务器、扰乱您的分析数据。在您的报告中,它们伪装成普通访客。
传统的 WAF 解决方案要么让真实客户感到厌烦,要么让复杂的模拟器有机可乘。在 HaltClick,我们采取了不同的方法:构建了一个 服务端反机器人系统,能在几秒内清除寄生流量,同时对搜索引擎 100% 安全。
根据国际报告,恶意机器人占全部互联网流量的 37%(2025 Imperva Bad Bot Report)。对于网站所有者来说,这意味着巨大的隐性损失。
机器人模拟点击 Yandex.Direct 和 Google Ads,在短短几小时内耗尽您的每日预算——而不产生任何真实线索。
竞争对手和聚合商使用爬虫复制您的产品描述、文章和价格。您的独特内容失去价值,SEO 排名下降。
大量零访问深度的虚假访问制造了流量的假象。基于此类数据做出的营销决策只会浪费预算。
爬虫请求(自动收集网站数据的程序或机器人)的雪崩可能在高峰时段拖垮您的网站。您不仅无法促成销售,还要面对停机时间和超额费用。
自动化的虚假账户注册、表单提交、密码暴力破解——所有这些都会削弱受众信任,并带来数据泄露风险。
像验证码这样的传统解决方案已经失效——它们既打扰真实用户,又容易被 AI 绕过。您需要的是根本不同的方法:静默的服务端验证,它不会向用户询问任何问题,而是自行判断来者是谁。
HaltClick Anti‑Bot 是一个用 PHP 和 JavaScript 编写的轻量级软件模块。它直接安装在您的服务器或 CMS 中,并在每个 HTTP 请求到达您的网站页面之前就将其拦截。
验证在本地执行,使用从我们分析平台加载的指标。我们不依赖云代理,也不更改您的 DNS——这是您个人的反欺诈过滤器。原理很简单:检查 → 放行或拦截(HTTP 429)。
如果浏览器已经过验证并携带安全的 HaltClick Cookie,则立即授予访问权限。
我们收集 Canvas、WebGL、字体、分辨率和语言。真实设备具有唯一指纹;无头模拟器则拥有通用或缺失的指纹。
脚本向浏览器发布一项不可见任务:执行代码、存储 Cookie。那些缺乏自然移动延迟和正确 JS 执行的机器人将被筛选出来。

个人账户中的服务端 Anti‑Bot 设置
无需»选择所有红绿灯»或»输入扭曲的字母»。验证大约需要一秒,看起来像简短的加载动画。消除验证码可使表单转化率提高 15–20%——访客根本来不及感到烦躁。
该模块在您的服务器上运行,仅每 10 分钟与我们的后端联系一次,以获取最新的指纹数据库。这消除了延迟和外部服务依赖。
现代 AI 服务识别图形验证码的准确率已超过人类,且成本极低。服务端指纹采集和行为分析则难以被欺骗——模拟器需要复制硬件指纹和自然运动模式,难度高出数个数量级。
来自 Apple、Baidu、Bing、DuckDuckGo、Google、Meta、Yandex 等合法爬虫通过 IP 地址检查自动验证,而伪装成搜索引擎的假机器人则被完全拦截。您的索引和搜索排名保持绝对安全。
一位访客从点击到着陆页的完整路径。
用户(或机器人)打开您网站的 URL。
HaltClick 服务端处理器检查是否存在有效 Cookie。
返回一个包含脚本的轻量页面。浏览器收集指纹并完成任务。
我们分析令牌,交叉核对指纹数据库,并评估时间延迟。
一切正常:颁发 14 天有效 Cookie。异常:返回 HTTP 429——服务器资源得以保留。
真实访客只会看到一闪而过的加载指示。
而机器人则会撞上»墙»,拦截数据立即出现在您的 HaltClick 分析中。
许多客户最初只是为了拦截爬虫而来,但最终留下了,因为这里提供了完整的安全生态。Anti‑Bot 在入口处过滤垃圾流量,而我们的点击欺诈防护则会为您的广告账户构建机器人受众群。
所有传入的寄生流量(爬虫、模拟器)中的比例。
减轻您服务器和数据库的压力,加快真实用户的响应速度。
零秒访问从 Google Analytics 中消失。
在开启防护之前,上下文广告中即可保留的预算。

HaltClick Anti‑Bot 不仅仅是保护——它是干净数据和高效广告活动的基础。别再猜测有多少钱浪费在看不见的寄生虫身上。试试 每月 1000 次访问的免费套餐。
掌控您的流量在「Antibot」部分,您拥有创建自定义访问规则的强大工具。您可以添加无限数量的规则,并一键启用或禁用。
检查在您的网站上自主进行,不会造成延迟。规则列表每 10 分钟从服务器更新一次,因此任何更改几乎立即生效。
规则包含名称、描述、排序顺序和灵活的条件列表。可设置检查 Referer、User Agent、Host、URI、IP、PTR、GET 参数、Lang 和 Header。
使用 AND/OR 逻辑组合条件。提供多种比较方式:等于/不等于、包含/不包含、开头/结尾为,以及正则表达式支持。
独立决定触发模式:强制「拦截」可疑活动或「允许」可信来源访问。

在使用 Antibot 之前,请在您网站上的 Google Tag 代码中添加 gtag('set', 'page_referrer', (() => { try { let r = sessionStorage.getItem('_haltclick_r'); if (r) { return r; } } catch(e){} return document.referrer; })());,以便在报告中获取真实的来源信息。
直接从您的 HaltClick 仪表板下载包含反机器人模块的 Zip 压缩包。
通过 FTP/SFTP 连接到网站,将类似 haltclick-xxxxxxxxxxx 的文件夹解压到网站根目录。
确保上传的文件夹具有写入权限(755 或 775),以便反机器人插件能够更新其特征库。
找到您的内容管理系统,或使用通用的服务端连接方式。
通过 .htaccess 的通用方法。auto_prepend_file 指令会在每个 PHP 脚本执行前自动加载防护。
php_value auto_prepend_file "<path_to_directory>/haltclick-xxxxxxxxxxx/haltclick.php"
使用 PHP-FPM 时,在网站根目录创建 .user.ini 文件:
; 在 PHP 执行的最开始加载防护脚本
auto_prepend_file = "<path_to_directory>/haltclick-xxxxxxxxxxx/haltclick.php"
; 验证脚本的时间限制
max_execution_time = 5
.user.ini 文件。更改会在 5 分钟(300 秒)后生效,或重启 PHP-FPM 后立即生效。php.ini 中禁用了 auto_prepend_file 指令,请使用 CMS 代码中直接调用脚本的方法(见下方选项)。在初始化文件中使用标准序言事件 OnBeforeProlog:
<?php
AddEventHandler("main", "OnBeforeProlog", "HaltClickHandler");
function HaltClickHandler() {
define('__haltclick', TRUE);
include($_SERVER['DOCUMENT_ROOT'] . '/haltclick-xxxxxxxxxxx/haltclick.php');
}
将连接挂接到系统 IP 地址检查钩子 Index.onBeforeCheckIp 中(自 7.1.7 版本起,如需请重新安装 7.1.7 更新):
Core_Event::attach('Index.onBeforeCheckIp', function(){
define('__haltclick', TRUE);
include(CMS_FOLDER . 'haltclick-xxxxxxxxxxx/haltclick.php');
});
插入到核心系统配置文件中:
include($_SERVER['DOCUMENT_ROOT'] . '/haltclick-xxxxxxxxxxx/haltclick.php');
通过主配置文件 wp-config.php 连接,可在 WordPress 核心和数据库查询开始前拦截机器人。
include($_SERVER['DOCUMENT_ROOT'] . '/haltclick-xxxxxxxxxxx/haltclick.php');
在 haltclick-xxxxxxxxxxx 目录中有一个 config.php 文件,您可以通过它管理反机器人选项并排除某些 URL 的检查。
<?php
return array(
'skipUrl' => array('/favicon.ico', '/favicon.gif', '/favicon.png', '/favicon.svg', '/sitemap.xml', '/robots.txt', '/llms.txt', '/llms-full.txt', '/apple-touch-icon', '/.well-known'),
'skipUrlFunction' => function($uri) { },
'antibotMinFonts' => 5,
'fingerprintDelay' => 970,
);
不会执行检查的 URL 前缀数组。可根据需要扩展。
一个函数,允许您根据路径或其他请求参数设置灵活检查。
允许访问所需的最少字体数量。许多简单机器人甚至不加载其所在电脑上的基本字体。
收集浏览器指纹的时间(毫秒),默认 970。
skipUrlFunction 函数中,您可以执行各种检查,例如:'skipUrlFunction' => function($uri) {
// 获取客户端 IP
$ip = __HaltClick::getClientIp();
// 如果 IP 等于指定地址
if (in_array($ip, array('11.21.23.24', '22.32.44.55')))
{
return true;
}
// 如果 IP 在指定子网内
if (__HaltClick::ipCheck($ip, '11.22.23.0/24'))
{
return true;
}
// 针对特定来源不进行检查
$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
if ($referer === 'https://supersite.com/')
{
return true;
}
},