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

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

  •  
  •   Richard14 · 10 天前 · 2124 次点击

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

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

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

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

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

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

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

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

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