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

这种前端反爬虫方案是否能阻止大多数新手破解?

  •  
  •   Richard14 · 2021-05-04 04:54:35 +08:00 · 3739 次点击
    这是一个创建于 1298 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求:保护应用核心数据,目前业务上只有数据值钱。

    具体做法:前端展示页面使用 canvas 渲染,不能直接通过 html 读取,数据传递使用自定的对称加密协议,前端有一个混淆过的解密代码。另外添加了一个 F12 检测工具,检测到控制台开启会强制刷新页面并讲用户添加至黑名单。

    问一下站里爬虫大佬怎么看,这套方案有没有什么漏洞,添加控制台检测之后,是不是只有通过黑产专用浏览器才能调试了,这样是否能过滤掉绝大多数非黑产专业的爬虫尝试?

    32 条回复    2021-05-06 07:58:35 +08:00
    shoaly
        1
    shoaly  
       2021-05-04 05:39:36 +08:00
    估计没啥用, 专业的人找到 那一行解密代码 就可以开始搞事情了
    LeeReamond
        2
    LeeReamond  
       2021-05-04 05:54:23 +08:00
    学习一个,不让开控制台的话不会调试 js 。
    crab
        3
    crab  
       2021-05-04 06:00:55 +08:00   ❤️ 1
    Override 或者 油猴 能直接解决那个检查控制台。 还不如发现爬虫不提醒,直接输出半真半假数据。
    freak118
        4
    freak118  
       2021-05-04 06:38:39 +08:00
    混淆过 就看不出了吗
    iBugOne
        5
    iBugOne  
       2021-05-04 06:46:55 +08:00
    只要有人发现你这个 F12 检测到之后会干什么,他就可以在这个地方(事件触发)下断点来停掉你的代码。甚至还可以开一个新标签页,开好 F12 下好断点再导航到你的页面。

    总之纯前端肯定不靠谱
    pabupa
        6
    pabupa  
       2021-05-04 07:15:21 +08:00 via Android
    这种情况就要用钱来区分用户。
    pabupa
        7
    pabupa  
       2021-05-04 07:16:16 +08:00 via Android
    @pabupa vip0 ~ vip999 搞起来
    xingshu1990
        8
    xingshu1990  
       2021-05-04 08:11:56 +08:00
    58 字体反爬,
    抖音加密。
    这两个反爬虫技术,目前能阻止大多数新手破解。
    raaaaaar
        10
    raaaaaar  
       2021-05-04 09:42:44 +08:00 via Android
    要看新手的定义了,我就写过几行 html,js,有代码混淆了我就不会爬了
    Quarter
        11
    Quarter  
       2021-05-04 09:49:41 +08:00 via iPhone
    这一套弄下来好复杂啊🤨
    ThirdFlame
        12
    ThirdFlame  
       2021-05-04 10:06:48 +08:00
    对付新手足够了
    Lemeng
        13
    Lemeng  
       2021-05-04 10:26:50 +08:00
    有点意思
    alexkkaa
        14
    alexkkaa  
       2021-05-04 10:43:04 +08:00 via Android
    不需要搜索引擎的你随便搞, 需要蜘蛛来爬的你这不是作死吗
    opengps
        15
    opengps  
       2021-05-04 13:30:15 +08:00
    用免费来提供普通用户
    用付费来提供给高级用户
    这样将来即使遭遇了同行抄袭之类的,最差最差也有个付费的地方
    imn1
        16
    imn1  
       2021-05-04 14:04:59 +08:00   ❤️ 1
    你要想清楚是你想过滤掉用户,还是想 被人家 过滤掉?

    F12 进黑名单,这个除非你写进 ToS,不然比骂某人封号更狠,完全是甲方意愿行为(不受法律保护的)
    Jooooooooo
        17
    Jooooooooo  
       2021-05-04 14:17:49 +08:00
    可以让暴击机关抓他们
    HankLu
        18
    HankLu  
       2021-05-04 14:31:42 +08:00
    码农何苦为难码农?
    Richard14
        19
    Richard14  
    OP
       2021-05-04 14:33:34 +08:00
    @imn1 我们是小公司,反爬虫是老板的想法,我不是法务,不过应该是可以写进服务条款的。我个人之前搜索过一些主流应用的服务条款资料,我觉得开控制台可以算作是以技术手段尝试破解服务,为了保护服务应当禁止,如果写进服务条款,应该也是合法合理的。再说正常用户正常使用谁会开启控制台呢。
    Richard14
        20
    Richard14  
    OP
       2021-05-04 14:34:24 +08:00
    @HankLu 断人财路如杀人父母啊,我们核心数据都被窃取的话类似父母被杀,为何不难为?
    wdlth
        21
    wdlth  
       2021-05-04 14:46:58 +08:00
    感觉封控制台没什么意义,既然全页都是 Canvas 那人家根本都不需要去看 DOM 。你这套方案感觉让爬虫更方便了,因为人家只需要抓包看一下然后跑一下 JS 。
    imn1
        22
    imn1  
       2021-05-04 14:46:58 +08:00
    @Richard14 #19
    所以说贵司或者说你不知道怎么想的
    “我觉得开控制台可以算作是以技术手段尝试破解服务” —— 开控制台和破解构成必然的关系么?

    从#20 的回复可见,逻辑不清
    人家只是说码农,码农开控制台你就判定“窃取核心数据”

    我开控制台的时候多了,但恰恰跟你的判定相反,我是要看看这个网站有没有“窃取用户的隐私”
    隐私是用户的核心数据没错吧,所以我说你这个只能算纯粹的甲方条款,只许州官放火?
    12101111
        23
    12101111  
       2021-05-04 14:55:44 +08:00
    @Richard14 按 del 键误触 F12 怎么办? 也封号然后把锅推给售后? 况且真要破解的遇到这种用小伎俩很好绕过啊. 而且我记得 chrome 和 firefox 的打开控制台的 api 不一样啊, 要是用别的浏览器(比如 webkit)岂不是就无效了

    canvas 这个遇到 ocr 怎么办?
    yksoft1test
        24
    yksoft1test  
       2021-05-04 15:53:26 +08:00
    把解密、写 canvas 的逻辑用 C 语言写编译成 WebAssembly ?
    或者干脆整个程序都用 C 语言写,网络部分用 WebSocket 连 socket,前端直接自己用 WebGL 渲染?
    yksoft1test
        25
    yksoft1test  
       2021-05-04 15:55:06 +08:00
    @12101111 30Hz 高速闪烁让单次截图截不到完整文字?
    Blanke
        26
    Blanke  
       2021-05-04 20:16:09 +08:00
    没用,一般做法是登录用户买 vip 能看更多数据,然后加频率限制
    redwing2003
        27
    redwing2003  
       2021-05-04 22:05:20 +08:00
    没用,我们现在习惯录屏 OCR 解决。
    强的人还不一定用爬虫呢,直接渗透。
    F12 是常用的工具,你不给人开,安全部门还有理由怀疑你想网页投毒。
    locoz
        28
    locoz  
       2021-05-04 23:42:41 +08:00 via Android
    没啥用,单从描述的这些来看的话,代码里没有埋暗坑或者一些需要特殊手段才能解决的难点,也就只能挡一挡那种看了点到处都有的教程的水平的人,有实际工作(且内容会涉及 JS 逆向)几个月的人其实都能搞得定,无非就是时间长短而已。
    Yunen
        29
    Yunen  
       2021-05-05 04:46:21 +08:00
    SEO 与反爬不可兼得,若是不需要 SEO 的站,倒还可以通过其他一些手段来反爬,如字体反爬、数据加密配 JS 混淆等,当然这些几乎都有可绕过方式,无非就是增加爬虫的成本,最后就是看哪方先放弃罢了
    Zy143L
        30
    Zy143L  
       2021-05-05 10:11:35 +08:00 via Android
    大不了,找人力资源,看网页,人工录入
    反正人力不值钱
    domodomo
        31
    domodomo  
       2021-05-05 16:29:49 +08:00
    这就跟斗鱼加密视频流地址一样,除了麻烦点毫无意义,甚至有点好笑。
    Richard14
        32
    Richard14  
    OP
       2021-05-06 07:58:35 +08:00
    @imn1 开玩笑了吧朋友,我是一个网站又不是 chrome 插件,运行在严格隔离环境里,我有什么权限“窃取用户隐私”,你这说法也是搞笑,不知道在想什么。不管你怎么胡诌,普通用户使用网页就是不需要开控制台,你既然能辩护这种行为,说明你不是核心数据被窃取的一类人,很可能是反过来有窃取数据需求才会这么说吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3401 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 258ms · UTC 04:41 · PVG 12:41 · LAX 20:41 · JFK 23:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.