cabin 发表于 2023-3-18 15:03:21

click事件的反扒思路

目前我搜资料看到有两种思路可以实现识别到click事件是由代码触发,而不是人触发的

1.是用isTrusted来判断
2.是用点击事件的clientX和clientY来分析判断,click时间这两个值是0

有没有什么好的办法,或者有大佬封装了去对抗这两种检测

或者还有没有其他反扒思路和反反扒思路

cxxjackie 发表于 2023-3-18 15:03:22

第二种很简单,包括你标出来的那些字段,全都是可以伪造的,在实例化事件时作为第二个参数传入即可(参考https://developer.mozilla.org/zh-CN/docs/Web/API/MouseEvent/MouseEvent),或者实例化后通过Object.defineProperties修改。第一种很麻烦,也是目前最常使用的检测手段,纯前端只有在特定条件下才能实现,用浏览器插件来做会容易很多。论坛举办过两次过isTrusted的头脑风暴,你可以找找思路:
https://bbs.tampermonkey.net.cn/thread-1331-1-1.html
https://bbs.tampermonkey.net.cn/thread-3487-1-1.html

cabin 发表于 2023-3-18 15:46:58

https://wxay-product-pro.oss-cn-shanghai.aliyuncs.com/demo/Snipaste_2023-03-18_15-11-40.png

我对比了下,差异字段大概有这么多

李恒道 发表于 2023-3-18 17:32:20

这个基本靠调试硬找注入点了
以及生成一个Event设置对应属性投进去
如果油猴无法实现就上插件
如果插件还是无法实现就走再编译浏览器或者CDP

cabin 发表于 2023-3-19 02:02:19

cxxjackie 发表于 2023-3-18 22:39
第二种很简单,包括你标出来的那些字段,全都是可以伪造的,在实例化事件时作为第二个参数传入即可(参考ht ...

厉害,厉害,你的思路是劫持addEventListener,然后利用proxy再把事件伪装下

1596944197 发表于 2023-3-20 09:24:39

有意思,居然还有这种题
页: [1]
查看完整版本: click事件的反扒思路