
我有个 Ajax 的接口,怎么防止爬虫调用,之前用过把一段 JS 写一段从 Dom 上获取一个值,根据一定的算法重新生成一个值作为 token 传递后端校验,JS 代码采用 Javascript Obfuscator Tool 工具混淆加密,结果还是被破解了。。。。。有什么好的办法吗?各位大神
1 webbillion 2023-12-14 18:12:42 +08:00 浏览器端无法完全防范吧,只是说可以加大破解难度,像你说的混淆,js 用各种 utf 转移加大难度,还可以加入那个检测是否打开控制台的库,但是这些都是有办法拦截和破解的。从后端限制 ip 和并发数量之类的角度着手吧。 |
2 zzl22100048 2023-12-14 18:13:41 +08:00 爬虫是不可能完全避免的,如果只是拦截恶意爬虫,直接上实名认证 |
3 codehz 2023-12-14 18:14:55 +08:00 不嫌麻烦的话走 websocket 吧,至少难度上可以给攻击者加一些,能干掉不少低级爬虫框架 |
4 murmur 2023-12-14 18:15:38 +08:00 实名认证+各种验证码,最后就跟阿里京东一样,动不动就要拼个图拉个滑块 |
5 chaoschick 2023-12-14 18:41:06 +08:00 via Android 设计一个更加复杂的加密算法,继续叠 buf |
6 leokun 2023-12-14 18:44:23 +08:00 加验证码 |
7 zsj1029 2023-12-14 18:52:39 +08:00 via iPhone Wasm 加密 |
8 dw2693734d 2023-12-14 18:56:01 +08:00 用 cloudflare 验证机器人,稳的一匹 |
9 renmu 2023-12-14 19:02:42 +08:00 via Android 必须绑定微信,让他突破微信的风控去 |
10 henix 2023-12-14 19:38:47 +08:00 反爬需要前后端配合,确实如同楼上说的。可以考虑:1. 限制 ip 每秒请求数 2. 要求用户必须注册,限制用户请求数 3. 加验证码或直接用极验之类的方案 4. 加工作量证明( proof of work ),要求每次请求必须完成一些复杂计算 |
11 pengtdyd 2023-12-14 19:46:10 +08:00 cloudflare 强的一批 |
12 ilee1989 OP |
13 huangpingdong 2023-12-15 10:04:05 +08:00 @pegtdyd 没用,直接破 |
14 letitbesqzr 2023-12-15 12:34:09 +08:00 @dw2693734d #8 @pengtdyd #11 没用,轻松过。。包括 ReCaptcha v2 、ReCaptcha v3 、ReCaptcha v2 Enterprise 、ReCaptcha v3 Enterprise 、FunCaptcha 、HCaptcha 都一大堆绕过的三方服务 。 |