js如何通过用户点击来判断网页是否是机器访问还是真人访问?
网友回复
简单的一点就是图形或声音验证码来识别,复杂一点就是通过用户鼠标移动的轨迹和时间点数据交给后端ai人工智能来判断是否是真人操作鼠标点击,想cloudflare的5秒盾就是采用这个技术,通过大量真人点击鼠标轨迹数据和机器模拟鼠标轨迹来训练模型,最终模型能够识别哪个是真人操作,哪个是机器所为。
以下是一个基础的示例,展示了如何在一定程度上检测鼠标轨迹:
// 定义一个对象来存储鼠标事件信息
const mouseTrack = {
positions: [], // 存储鼠标位置
times: [], // 存储鼠标移动的时间点
isHuman: false // 标志是否为真人操作
};
// 鼠标移动事件监听器
document.addEventListener('mousemove', (e) => {
// 存储鼠标位置和当前时间
mouseTrack.positions.push({ x: e.clientX, y: e.clientY });
mouseTrack.times.push(Date.now());
// 可以在这里添加更复杂的判断逻辑,例如分析速度变化、轨迹模式等
});
// 鼠标点击事件监听器
document.addEventListener('click', () => {
...点击查看剩余70%
ai能写出比黑客还厉害的零日漏洞等攻击工具攻击任意软件系统工程?
js如何获取浏览器的音频上下文指纹、Canvas指纹、WebGL渲染特征?
为啥ai开始抛弃markdown文本,重新偏好html文本了?
网站有没有办法鉴别访问请求是由ai操控chrome-devtools-mcp发出的?
有没有python自动操作浏览器让网站无法鉴别是机器行为?
为啥最新由Meta / 斯坦福 / 哈佛出的ProgramBench基准GPT-5.4、Claude Opus 4.7、Gemini 3.1 Pro 等全部 0% 通过率?
有没有免费的api查询域名是否完成icp工信部备案?
codex用HyperFrames与 Remotion自动做视频那个更好?
claude code中Skill MCP CLI SubAgent Hooks Plugin区别?
浏览器webrtc点对点通讯如何才能走系统代理?


