需求:保护应用核心数据,目前业务上只有数据值钱。
具体做法:前端展示页面使用 canvas 渲染,不能直接通过 html 读取,数据传递使用自定的对称加密协议,前端有一个混淆过的解密代码。另外添加了一个 F12 检测工具,检测到控制台开启会强制刷新页面并讲用户添加至黑名单。
问一下站里爬虫大佬怎么看,这套方案有没有什么漏洞,添加控制台检测之后,是不是只有通过黑产专用浏览器才能调试了,这样是否能过滤掉绝大多数非黑产专业的爬虫尝试?
1
shoaly 2021-05-04 05:39:36 +08:00
估计没啥用, 专业的人找到 那一行解密代码 就可以开始搞事情了
|
2
LeeReamond 2021-05-04 05:54:23 +08:00
学习一个,不让开控制台的话不会调试 js 。
|
3
crab 2021-05-04 06:00:55 +08:00 1
Override 或者 油猴 能直接解决那个检查控制台。 还不如发现爬虫不提醒,直接输出半真半假数据。
|
4
freak118 2021-05-04 06:38:39 +08:00
混淆过 就看不出了吗
|
5
iBugOne 2021-05-04 06:46:55 +08:00
只要有人发现你这个 F12 检测到之后会干什么,他就可以在这个地方(事件触发)下断点来停掉你的代码。甚至还可以开一个新标签页,开好 F12 下好断点再导航到你的页面。
总之纯前端肯定不靠谱 |
6
pabupa 2021-05-04 07:15:21 +08:00 via Android
这种情况就要用钱来区分用户。
|
8
xingshu1990 2021-05-04 08:11:56 +08:00
58 字体反爬,
抖音加密。 这两个反爬虫技术,目前能阻止大多数新手破解。 |
10
raaaaaar 2021-05-04 09:42:44 +08:00 via Android
要看新手的定义了,我就写过几行 html,js,有代码混淆了我就不会爬了
|
11
Quarter 2021-05-04 09:49:41 +08:00 via iPhone
这一套弄下来好复杂啊🤨
|
12
ThirdFlame 2021-05-04 10:06:48 +08:00
对付新手足够了
|
13
Lemeng 2021-05-04 10:26:50 +08:00
有点意思
|
14
alexkkaa 2021-05-04 10:43:04 +08:00 via Android
不需要搜索引擎的你随便搞, 需要蜘蛛来爬的你这不是作死吗
|
15
opengps 2021-05-04 13:30:15 +08:00
用免费来提供普通用户
用付费来提供给高级用户 这样将来即使遭遇了同行抄袭之类的,最差最差也有个付费的地方 |
16
imn1 2021-05-04 14:04:59 +08:00 1
你要想清楚是你想过滤掉用户,还是想 被人家 过滤掉?
F12 进黑名单,这个除非你写进 ToS,不然比骂某人封号更狠,完全是甲方意愿行为(不受法律保护的) |
17
Jooooooooo 2021-05-04 14:17:49 +08:00
可以让暴击机关抓他们
|
18
HankLu 2021-05-04 14:31:42 +08:00
码农何苦为难码农?
|
19
Richard14 OP @imn1 我们是小公司,反爬虫是老板的想法,我不是法务,不过应该是可以写进服务条款的。我个人之前搜索过一些主流应用的服务条款资料,我觉得开控制台可以算作是以技术手段尝试破解服务,为了保护服务应当禁止,如果写进服务条款,应该也是合法合理的。再说正常用户正常使用谁会开启控制台呢。
|
21
wdlth 2021-05-04 14:46:58 +08:00
感觉封控制台没什么意义,既然全页都是 Canvas 那人家根本都不需要去看 DOM 。你这套方案感觉让爬虫更方便了,因为人家只需要抓包看一下然后跑一下 JS 。
|
22
imn1 2021-05-04 14:46:58 +08:00
@Richard14 #19
所以说贵司或者说你不知道怎么想的 “我觉得开控制台可以算作是以技术手段尝试破解服务” —— 开控制台和破解构成必然的关系么? 从#20 的回复可见,逻辑不清 人家只是说码农,码农开控制台你就判定“窃取核心数据” 我开控制台的时候多了,但恰恰跟你的判定相反,我是要看看这个网站有没有“窃取用户的隐私” 隐私是用户的核心数据没错吧,所以我说你这个只能算纯粹的甲方条款,只许州官放火? |
23
12101111 2021-05-04 14:55:44 +08:00
@Richard14 按 del 键误触 F12 怎么办? 也封号然后把锅推给售后? 况且真要破解的遇到这种用小伎俩很好绕过啊. 而且我记得 chrome 和 firefox 的打开控制台的 api 不一样啊, 要是用别的浏览器(比如 webkit)岂不是就无效了
canvas 这个遇到 ocr 怎么办? |
24
yksoft1test 2021-05-04 15:53:26 +08:00
把解密、写 canvas 的逻辑用 C 语言写编译成 WebAssembly ?
或者干脆整个程序都用 C 语言写,网络部分用 WebSocket 连 socket,前端直接自己用 WebGL 渲染? |
25
yksoft1test 2021-05-04 15:55:06 +08:00
@12101111 30Hz 高速闪烁让单次截图截不到完整文字?
|
26
Blanke 2021-05-04 20:16:09 +08:00
没用,一般做法是登录用户买 vip 能看更多数据,然后加频率限制
|
27
redwing2003 2021-05-04 22:05:20 +08:00
没用,我们现在习惯录屏 OCR 解决。
强的人还不一定用爬虫呢,直接渗透。 F12 是常用的工具,你不给人开,安全部门还有理由怀疑你想网页投毒。 |
28
locoz 2021-05-04 23:42:41 +08:00 via Android
没啥用,单从描述的这些来看的话,代码里没有埋暗坑或者一些需要特殊手段才能解决的难点,也就只能挡一挡那种看了点到处都有的教程的水平的人,有实际工作(且内容会涉及 JS 逆向)几个月的人其实都能搞得定,无非就是时间长短而已。
|
29
Yunen 2021-05-05 04:46:21 +08:00
SEO 与反爬不可兼得,若是不需要 SEO 的站,倒还可以通过其他一些手段来反爬,如字体反爬、数据加密配 JS 混淆等,当然这些几乎都有可绕过方式,无非就是增加爬虫的成本,最后就是看哪方先放弃罢了
|
30
Zy143L 2021-05-05 10:11:35 +08:00 via Android
大不了,找人力资源,看网页,人工录入
反正人力不值钱 |
31
domodomo 2021-05-05 16:29:49 +08:00
这就跟斗鱼加密视频流地址一样,除了麻烦点毫无意义,甚至有点好笑。
|