+
95
-

js如何通过用户点击来判断网页是否是机器访问还是真人访问?

js如何通过用户点击来判断网页是否是机器访问还是真人访问?


网友回复

+
15
-

简单的一点就是图形或声音验证码来识别,复杂一点就是通过用户鼠标移动的轨迹和时间点数据交给后端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%

我知道答案,我要回答