V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
P233
V2EX  ›  奇思妙想

这算不算是没法反推的方案

  •  
  •   P233 · 2014-03-25 02:24:54 +08:00 · 3844 次点击
    这是一个创建于 3903 天前的主题,其中的信息可能已经有所发展或是发生改变。
    根据早上看到的帖子 t/105634 想到的,写了这个页面 http://anti-crawler-number.herokuapp.com/

    每次访问随机刷出 3 个数字,全部由 CSS box-shadow 渲染而成,另外参考 anti-piracy font 随机加 pattern 干扰 OCR。还可以更复杂,比如彻底打乱 box-shadow 顺序,浏览器不会出错,想反推几乎是不可能了。
    13 条回复    1970-01-01 08:00:00 +08:00
    P233
        1
    P233  
    OP
       2014-03-25 02:26:55 +08:00
    缺点是一个数字差不多 10kb CSS文件
    zorceta
        2
    zorceta  
       2014-03-25 02:27:57 +08:00 via Android
    用元素堆一个数字出来

    原来想验证码想到的
    P233
        3
    P233  
    OP
       2014-03-25 02:32:27 +08:00
    @zorceta 用像素点堆出来的,跟图片差不多
    cdfmr
        4
    cdfmr  
       2014-03-25 07:34:49 +08:00 via Android
    如果价格显示得跟验证码差不多,我是没兴趣在这样的商城购物的。
    alay9999
        5
    alay9999  
       2014-03-25 08:18:53 +08:00
    我倒是愿意抓取了你的当作会员验证码,很好用的样子
    est
        6
    est  
       2014-03-25 08:40:07 +08:00   ❤️ 1
    webkit -> 截屏 -> ORC

    haha
    sanddudu
        7
    sanddudu  
       2014-03-25 08:47:29 +08:00
    最好的验证码
    最差的购物体验

    另外你有没有考虑低版本浏览器的兼容性?

    如果我看个价格跟看reCAPTCHA差不多,我还会有兴趣继续买东西吗
    sanddudu
        8
    sanddudu  
       2014-03-25 08:48:35 +08:00
    @est html2canvas可以把任意元素用canvas绘出来,保存就不是难事了
    est
        9
    est  
       2014-03-25 09:03:38 +08:00
    @sanddudu
    @P233

    对。所以headless browser可以突破LZ的。

    我觉得终极办法是结合用户交互和DOM做。用户必须有鼠标键盘触摸动作之类的才能看到最终图片/文字。用代码模拟用户交互很容易探测。
    loading
        10
    loading  
       2014-03-25 09:36:40 +08:00 via iPhone
    这个是验证码问题吧…
    ericshao
        11
    ericshao  
       2014-03-25 10:45:34 +08:00
    快要想到手机接收价格信息了
    P233
        12
    P233  
    OP
       2014-03-25 14:42:22 +08:00
    @cdfmr
    @sanddudu 显示价格就不加 pattern 了,也会去掉 blur,可以实现不使用图片防抓取,OCR 没办法,其实是在折腾验证码。

    兼容性就不考虑了,这只是一次尝试,跟造概念车一样

    @alay9999 是在想这个做验证码怎么样?我可以进一步优化 CSS,后台 node.js 部分就无能为力了,小菜鸟一枚

    @est 难道不能干扰 OCR 吗,我承认这些 pattern 画的比较丑,另外目测 html2canvas 抓不到这个页面 http://html2canvas.hertzen.com/screenshots.html

    @loading 没错
    JoyNeop
        13
    JoyNeop  
       2014-03-25 16:41:19 +08:00
    雇个民工人肉爬虫,完破
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1439 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:30 · PVG 01:30 · LAX 09:30 · JFK 12:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.