V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
ilee1989
V2EX  ›  JavaScript

求助:前端 JS 加密,防止被爬虫爬

  •  
  •   ilee1989 · 356 天前 · 2430 次点击
    这是一个创建于 356 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有个 Ajax 的接口,怎么防止爬虫调用,之前用过把一段 JS 写一段从 Dom 上获取一个值,根据一定的算法重新生成一个值作为 token 传递后端校验,JS 代码采用 JavaScript Obfuscator Tool 工具混淆加密,结果还是被破解了。。。。。有什么好的办法吗?各位大神

    14 条回复    2023-12-15 12:34:09 +08:00
    webbillion
        1
    webbillion  
       356 天前
    浏览器端无法完全防范吧,只是说可以加大破解难度,像你说的混淆,js 用各种 utf 转移加大难度,还可以加入那个检测是否打开控制台的库,但是这些都是有办法拦截和破解的。从后端限制 ip 和并发数量之类的角度着手吧。
    zzl22100048
        2
    zzl22100048  
       356 天前
    爬虫是不可能完全避免的,如果只是拦截恶意爬虫,直接上实名认证
    codehz
        3
    codehz  
       356 天前
    不嫌麻烦的话走 websocket 吧,至少难度上可以给攻击者加一些,能干掉不少低级爬虫框架
    murmur
        4
    murmur  
       356 天前
    实名认证+各种验证码,最后就跟阿里京东一样,动不动就要拼个图拉个滑块
    chaoschick
        5
    chaoschick  
       356 天前 via Android
    设计一个更加复杂的加密算法,继续叠 buf
    leokun
        6
    leokun  
       356 天前
    加验证码
    zsj1029
        7
    zsj1029  
       356 天前 via iPhone
    Wasm 加密
    dw2693734d
        8
    dw2693734d  
       356 天前
    用 cloudflare 验证机器人,稳的一匹
    renmu
        9
    renmu  
       356 天前 via Android   ❤️ 1
    必须绑定微信,让他突破微信的风控去
    henix
        10
    henix  
       355 天前   ❤️ 1
    反爬需要前后端配合,确实如同楼上说的。可以考虑:1. 限制 ip 每秒请求数 2. 要求用户必须注册,限制用户请求数 3. 加验证码或直接用极验之类的方案 4. 加工作量证明( proof of work ),要求每次请求必须完成一些复杂计算
    pengtdyd
        11
    pengtdyd  
       355 天前
    cloudflare 强的一批
    ilee1989
        12
    ilee1989  
    OP
       355 天前
    @pengtdyd
    @dw2693734d 好的,我去看看
    huangpingdong
        13
    huangpingdong  
       355 天前
    @pengtdyd 没用,直接破
    letitbesqzr
        14
    letitbesqzr  
       355 天前
    @dw2693734d #8
    @pengtdyd #11

    没用,轻松过。。包括 ReCaptcha v2 、ReCaptcha v3 、ReCaptcha v2 Enterprise 、ReCaptcha v3 Enterprise 、FunCaptcha 、HCaptcha 都一大堆绕过的三方服务 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3332 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 11:38 · PVG 19:38 · LAX 03:38 · JFK 06:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.