acthtml
V2EX  ›  问与答

求一种不能反推的算法。

  •  
  •   acthtml · Mar 24, 2014 · 6001 views
    This topic created in 4617 days ago, the information mentioned may be changed or developed.
    应用场景:网站的价格防抓取,不想使用图片代替。

    通过数字和样式的组合,显示正确的的价格。例如产品的真实价格是234,实际输出的是32312345,其中对应的样式是text-indent:-4em;width:3em;这样用户看到的显示价格就是234。
    问题是这种做法的算法是可以破解的,有没有客户端不能破解的算法。
    25 replies  •  1970-01-01 08:00:00 +08:00
    Ever
    Ever
    Mar 24, 2014❤️1
    1
    符合这要求的应该是没有的.
    blacktulip
    blacktulip
    Mar 24, 2014 via iPhone❤️1
    2
    你自己能反推别人就能
    sivacohan
    sivacohan
    Mar 24, 2014❤️1
    3
    每小时一变!
    123123
    123123
    Mar 24, 2014❤️1
    4
    设计多种算法随机显示
    acthtml
    acthtml
    OP
    Mar 24, 2014
    5
    就算随机、多变也能破解。客户端还是通过这些显性的规则来得到真实价格的。

    感觉这玩意像造永动机一样的。
    ijse
    ijse
    Mar 24, 2014❤️1
    6
    想到一种,可以通过自定义字体,将数字以其它编码替换,这样对用户显示是正常的,但实际字符编码是其它;

    这样子其实有点类似图片的方式。
    ritksm
    ritksm
    Mar 24, 2014❤️1
    7
    你的js别人都看得见的
    hahastudio
    hahastudio
    Mar 24, 2014
    8
    -有这辙京东淘宝早就学过去了-
    binux
    binux
    Mar 24, 2014
    9
    再不济,我就不能截图吗!
    acthtml
    acthtml
    OP
    Mar 24, 2014
    10
    结贴,没有这算法。
    otakustay
    otakustay
    Mar 24, 2014
    11
    淘宝曾经说过:大不了把你显示价格的元素加上样式当作我的登录验证码
    aec4d
    aec4d
    Mar 24, 2014
    12
    显示那么整齐还怕不能OCR?
    PurpleSun
    PurpleSun
    Mar 24, 2014
    13
    为每个价格生成随机盐
    deepure
    deepure
    Mar 24, 2014 via iPad
    14
    @ijse 可以直接把字体下载来打开看一下
    P233
    P233
    Mar 24, 2014
    15
    把价格输出成 CSS box-shadow 堆像素,哈哈
    LU35
    LU35
    Mar 24, 2014 via Android
    16
    @otakustay 这个不好验证正确性吧?
    P233
    P233
    Mar 24, 2014
    17
    像这样 http://jsbin.com/kanuwizi/1
    或者更复杂一点 http://jsbin.com/kanuwizi/3

    每次输出随机打乱 box-shadow 的顺序,浏览器显示没有问题,反推肯定非常非常复杂
    P233
    P233
    Mar 24, 2014
    18
    更更复杂一点:加入背景底色,数字的颜色通过多块像素(rgba)重叠调配而成,反推就应该不可能实现了
    Zhang
    Zhang
    Mar 24, 2014
    19
    只要肉眼可读的,用程序也可读。我就知道一个识别屏幕上任何一个位置的文本的库
    loading
    loading
    Mar 24, 2014
    20
    @otakustay 膜拜,免费打码
    pfitseng
    pfitseng
    Mar 24, 2014 via Android
    21
    让我想到了老外那种可读性时钟,比如小时十元差一分,一个三三个九点九九
    luikore
    luikore
    Mar 24, 2014
    22
    做成三维立体图好了
    davidyin
    davidyin
    Mar 25, 2014
    23
    不能反推的算法楼上有不少。
    可别人的解决方案是不反推,所以这是一个无解的问题。

    只能防君子。
    acthtml
    acthtml
    OP
    Mar 25, 2014
    24
    @pfitseng 详细点,没理解。
    Ricepig
    Ricepig
    Mar 25, 2014
    25
    如果你看过一个叫“数学时钟”的,可以按照这个实现,就是不知道客户数学基础有没有。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2172 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 13:48 · PVG 21:48 · LAX 05:48 · JFK 08:48
    ♥ Do have faith in what you're doing.