公司业务,目前前端一些对公网展示图表的组件用的就是土法的后端调出数据库然后前端 echarts 渲染,但是这些数据都是汇总性比较强的,其实并不希望被(可能潜在的)商业对手的爬虫获取,有什么办法对这些数据进行加密吗?能起到防君子不防小人的水平即可。
目前我能想到的是,所有中间环节中,canvas 爬虫本身不是很容易,可能脆弱的环节在于后端数据获取的部分,也许用某种方式加密然后前端用 wasm 解密?这种方法能拦截用户直接从浏览器中获取原始数据吗
1
siknet 2022-02-24 10:25:35 +08:00
没用的,用个无头浏览器直接就能全部抓来
建议转图片 |
2
yggd 2022-02-24 10:30:19 +08:00 via iPad
建议转图片
|
3
hoythan 2022-02-24 10:38:48 +08:00
后端生成 echarts.js 的 options 配置返回到前端.
|
4
hoythan 2022-02-24 10:42:12 +08:00
简单来说 EChares 的阴间格式,一般君子是剥离不出数据的.小人剥离也比较麻烦.
|
5
LeeReamond OP |
6
3dwelcome 2022-02-24 10:52:34 +08:00
很多人不了解 WASM ,其实并不适合做强加密,还不如直接用 JS 写点加密代码。
WASM 所有导入导出入口函数,就和一个 DLL 一样,都是对外暴露的,谁都能调用,谁都能 HOOK ,很不安全。 |
7
3dwelcome 2022-02-24 10:55:05 +08:00
WASM 的好处是隐藏内部算法,但是一般很厉害的 JS 加密,也没办法轻易还原出算法。
|
8
LeeReamond OP @3dwelcome 是这个问题,不知道万能的 v 友有没有什么聪明方案可以用在隐藏数据上
|
9
LeeReamond OP 比如想个什么办法把 wasm 调用的具体代码藏起来,效果应该就很好了
|
10
3dwelcome 2022-02-24 11:16:12 +08:00
@LeeReamond @LeeReamond 后台 API 数据反爬,就那点东西。加访问频率限制,加时效性签名,加 nonce ,识别浏览器指纹。
如果真的用一楼方法,控制无头浏览器来抓 DOM 数据,前端也很难阻止的。 当然多加密一次,总比不加好,防君子不防小人。 我现在数据交互从 Restful API 迁移到了 RPC ,加密是随手之劳的事情,自我安慰安全系数+1 。 |
11
siknet 2022-02-24 11:55:06 +08:00
没用的,你前端只要展示,用无头几乎没有抓不了的,代码都不用写,有现成的工具写下脚本就行了,只能说限制下访问频率
|
12
siknet 2022-02-24 11:56:02 +08:00
或者,未注册用户展示图片,注册用户展示 JS 图表,然后看日志抓人...
|
13
ch2 2022-02-24 11:57:26 +08:00
只要放出去,最终必定会被拿走,快慢无非是看你的数据价值高低
|
14
paopjian 2022-02-24 11:58:25 +08:00
不让他人获取数据最好的方法就是不展示
|
15
jones2000 2022-02-24 14:50:40 +08:00
申请你们数据汇总的算法专利, 谁用就收专利费。 爬数据直接发律师函。
|
16
pinktu 2022-02-24 16:27:25 +08:00
既然竞争对手爬,那就整点假数据忽悠
|
17
pengtdyd 2022-02-24 18:29:49 +08:00
想爬你,你做什么都没用。不想怕你,你做什么都可以
|