需求:保护应用核心数据,目前业务上只有数据值钱。
具体做法:前端展示页面使用 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 ![]() 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 ![]() 你要想清楚是你想过滤掉用户,还是想 被人家 过滤掉? 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 这就跟斗鱼加密视频流地址一样,除了麻烦点毫无意义,甚至有点好笑。 |