V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LeeReamond
V2EX  ›  问与答

如何防止基于 echarts.js 渲染的前端图表被爬虫盗取数据?

  •  
  •   LeeReamond · 2022-02-24 10:21:08 +08:00 · 2185 次点击
    这是一个创建于 1004 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司业务,目前前端一些对公网展示图表的组件用的就是土法的后端调出数据库然后前端 echarts 渲染,但是这些数据都是汇总性比较强的,其实并不希望被(可能潜在的)商业对手的爬虫获取,有什么办法对这些数据进行加密吗?能起到防君子不防小人的水平即可。

    目前我能想到的是,所有中间环节中,canvas 爬虫本身不是很容易,可能脆弱的环节在于后端数据获取的部分,也许用某种方式加密然后前端用 wasm 解密?这种方法能拦截用户直接从浏览器中获取原始数据吗

    17 条回复    2022-02-24 18:29:49 +08:00
    siknet
        1
    siknet  
       2022-02-24 10:25:35 +08:00
    没用的,用个无头浏览器直接就能全部抓来

    建议转图片
    yggd
        2
    yggd  
       2022-02-24 10:30:19 +08:00 via iPad
    建议转图片
    hoythan
        3
    hoythan  
       2022-02-24 10:38:48 +08:00
    后端生成 echarts.js 的 options 配置返回到前端.
    hoythan
        4
    hoythan  
       2022-02-24 10:42:12 +08:00
    简单来说 EChares 的阴间格式,一般君子是剥离不出数据的.小人剥离也比较麻烦.
    LeeReamond
        5
    LeeReamond  
    OP
       2022-02-24 10:49:31 +08:00
    @siknet
    @yggd 图片的交互性跟 js 图表比还是差了些,用户体验下降得有点厉害。后端传的 content 经过加密的话也不好解密吧?
    3dwelcome
        6
    3dwelcome  
       2022-02-24 10:52:34 +08:00
    很多人不了解 WASM ,其实并不适合做强加密,还不如直接用 JS 写点加密代码。

    WASM 所有导入导出入口函数,就和一个 DLL 一样,都是对外暴露的,谁都能调用,谁都能 HOOK ,很不安全。
    3dwelcome
        7
    3dwelcome  
       2022-02-24 10:55:05 +08:00
    WASM 的好处是隐藏内部算法,但是一般很厉害的 JS 加密,也没办法轻易还原出算法。
    LeeReamond
        8
    LeeReamond  
    OP
       2022-02-24 11:07:24 +08:00
    @3dwelcome 是这个问题,不知道万能的 v 友有没有什么聪明方案可以用在隐藏数据上
    LeeReamond
        9
    LeeReamond  
    OP
       2022-02-24 11:12:19 +08:00
    比如想个什么办法把 wasm 调用的具体代码藏起来,效果应该就很好了
    3dwelcome
        10
    3dwelcome  
       2022-02-24 11:16:12 +08:00
    @LeeReamond @LeeReamond 后台 API 数据反爬,就那点东西。加访问频率限制,加时效性签名,加 nonce ,识别浏览器指纹。

    如果真的用一楼方法,控制无头浏览器来抓 DOM 数据,前端也很难阻止的。

    当然多加密一次,总比不加好,防君子不防小人。

    我现在数据交互从 Restful API 迁移到了 RPC ,加密是随手之劳的事情,自我安慰安全系数+1 。
    siknet
        11
    siknet  
       2022-02-24 11:55:06 +08:00
    没用的,你前端只要展示,用无头几乎没有抓不了的,代码都不用写,有现成的工具写下脚本就行了,只能说限制下访问频率
    siknet
        12
    siknet  
       2022-02-24 11:56:02 +08:00
    或者,未注册用户展示图片,注册用户展示 JS 图表,然后看日志抓人...
    ch2
        13
    ch2  
       2022-02-24 11:57:26 +08:00
    只要放出去,最终必定会被拿走,快慢无非是看你的数据价值高低
    paopjian
        14
    paopjian  
       2022-02-24 11:58:25 +08:00
    不让他人获取数据最好的方法就是不展示
    jones2000
        15
    jones2000  
       2022-02-24 14:50:40 +08:00
    申请你们数据汇总的算法专利, 谁用就收专利费。 爬数据直接发律师函。
    pinktu
        16
    pinktu  
       2022-02-24 16:27:25 +08:00
    既然竞争对手爬,那就整点假数据忽悠
    pengtdyd
        17
    pengtdyd  
       2022-02-24 18:29:49 +08:00
    想爬你,你做什么都没用。不想怕你,你做什么都可以
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2741 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:29 · PVG 19:29 · LAX 03:29 · JFK 06:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.