一个网站的终极内容防复制的设计,没见过更加丧心病狂的了,求破求算法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zxp
V2EX    分享发现

一个网站的终极内容防复制的设计,没见过更加丧心病狂的了,求破求算法

  •  
  •   zxp 2014-01-27 10:23:27 +08:00 7293 次点击
    这是一个创建于 4276 天前的主题,其中的信息可能已经有所发展或是发生改变。
    很多年前发现的一个奇葩网站,内部所有文章的内容都用一种奇葩的防复制设计,不但防机器人,还防人肉复制,曾想破了脑袋去破,最终还是放弃了,耿耿于怀了很多年,原始网址忘记了,就用一图片来说说这个设计吧,看看大家有没有破法。



    整篇文章被多个表格包围,表格大小随机,一个文字一格,手工复制出来,导成纯文字版整个文章文字顺序全部打乱,无法阅读。
    32 条回复    1970-01-01 08:00:00 +08:00
    Livid
        1
    Livid  
    MOD
    PRO
       2014-01-27 10:26:45 +08:00 via iPhone   4
    如果对方还考虑 SEO 的话,把 UA 伪装成百度看看能不能拿到不同的输出。
    raincious
        2
    raincious  
       2014-01-27 10:42:40 +08:00   3
    截图OCR转换。
    jjplay
        3
    jjplay  
       2014-01-27 11:09:10 +08:00
    国人都是人才...
    Evance
        4
    Evance  
       2014-01-27 11:17:38 +08:00
    如果生成的算法在后端,那么通过字符串处理的办法,很大情况情况无解,通过 @raincious 所说的办法比较有效。
    如果算法在前端,找到生成脚本修改处理的算法函数即可。
    hq5261984
        5
    hq5261984  
       2014-01-27 11:25:22 +08:00   2
    chrome浏览器 粘帖为纯文本。
    然后自己再排版。
    bengtuo
        6
    bengtuo  
       2014-01-27 11:27:06 +08:00
    只要能看到正确的内容 便是可以破的
    FrankFang128
        7
    FrankFang128  
       2014-01-27 11:27:18 +08:00
    好办法。 对付copy者很管用。
    FrankFang128
        8
    FrankFang128  
       2014-01-27 11:28:14 +08:00
    @bengtuo 中文OCR识别度太烂,所以楼主说的这种暂时无解,我觉得。
    Mutoo
        9
    Mutoo  
       2014-01-27 11:36:15 +08:00   4
    其实也不是没办法,可以把每个字的位置信息提取出来,然后做一个二维链表把它们重新排序。就像古代印刷术那样,最后得到文字内容。

    提取位置的方法有很多,这里我弄了个示例
    http://jsfiddle.net/mutoo/w5KJz/
    casparchen
        10
    casparchen  
       2014-01-27 11:40:04 +08:00 via iPad
    他怎么处理的,你就逆处理呗。比如他是按原文本行列号生成表格坐标,那只需将坐标转换成行列号再拼凑字符串即可
    icedx
        11
    icedx  
       2014-01-27 12:14:37 +08:00 via Android
    @FrankFang128 没有识别不出来的文字 只有识别不出文字的软件
    jinwyp
        12
    jinwyp  
       2014-01-27 12:21:23 +08:00
    我觉得,有了canvas, 以后内容可以直接用canvas输出, 很难复制
    yangff
        13
    yangff  
       2014-01-27 12:23:19 +08:00
    @jinwyp 前端绘制都可以做,大不了自己编译个chrome把freetype的接口暴露出来,直接服务端下发图片就行了,只能ORC。
    x86
        14
    x86  
       2014-01-27 12:25:17 +08:00
    贴个地址出来
    raincious
        15
    raincious  
       2014-01-27 12:26:22 +08:00
    @FrankFang128 False。就算建立自己的字图索引,网页截图那么高精度的采样,识别这个,没有任何问题。
    zxp
        16
    zxp  
    OP
       2014-01-27 12:26:33 +08:00
    关键是上面只是这个网站页面的一种情况,最纠结的就是表格还有嵌套,所以要写个机器人来自动抓内容面临的困难太大了,网站内容的自动生成的算法也很让人困扰,最后只能怀疑网站是全人工手动制作的,只能佩服站长为了防复制的巨大毅力了。。。
    Mutoo
        17
    Mutoo  
       2014-01-27 12:38:30 +08:00   1
    @zxp 建立字符位置信息可以无视嵌套。位置是相对于网页边界的。
    zxp
        18
    zxp  
    OP
       2014-01-27 12:39:55 +08:00
    @Mutoo 啊,很对,很好的思路!
    zxp
        19
    zxp  
    OP
       2014-01-27 12:43:24 +08:00
    内容生成的算法其实之前也想过一些,比较靠谱的是先生成表格的布局,对每个格子进行编号,然后对格子排序,把文字内容按顺序填写进去,相对抓取的难度应该要小一些。
    hsu
        20
    hsu  
       2014-01-27 12:43:47 +08:00
    @Mutoo 赞一个。
    xiaket
        21
    xiaket  
       2014-01-27 12:45:02 +08:00   1
    @zxp 这种防复制的算法也只需要写一次, 随机生成一种用多个block来填满一个页面的方法, 然后将文章排版后映射到每个格子中, 最后再渲染出来.

    如果做得更过分, 还可以在css/js里面再做一些效果. 改变前面说的映射表... 例如让某个block不显示/把某个block放到左边/用某个block覆盖其他block等等等等...
    shakoon
        22
    shakoon  
       2014-01-27 12:46:21 +08:00
    赞,这招原创文学网站可以借鉴
    FrankFang128
        23
    FrankFang128  
       2014-01-27 12:57:10 +08:00   1
    @shakoon 嗯,我也觉得,简单的随机切割,使得破解难度大大增加。看看上面说的几个解决方案,没有编程基础的人员搞不定的。所以可以防止一大片想要 copy 的人。
    davidyin
        24
    davidyin  
       2014-01-27 15:50:41 +08:00
    复制的时候不是连表格一起复制的么?
    粘帖的时候也连表格一起就好了。
    d0a1ccec
        25
    d0a1ccec  
       2014-01-27 16:36:37 +08:00
    来个url吧 ,楼主
    anheiyouxia
        26
    anheiyouxia  
       2014-01-27 17:40:19 +08:00
    我记得N年以前似乎也遇到过这样的网站
    9hills
        27
    9hills  
       2014-01-27 17:40:30 +08:00
    @FrankFang128 网页截图这么清晰,中文OCR识别率很高的。
    icyalala
        28
    icyalala  
       2014-01-27 17:44:15 +08:00   2
    只要人能认出来,就防止不了人肉复制啊。。
    你看起点中文之类的网站比这还要丧心病狂,换字体,渲染成图片,那些盗版小说站点照样能弄出来。。靠的就是“手打”。。

    在中国,人力成本非常低。。。
    xunyu
        29
    xunyu  
       2014-01-27 17:46:57 +08:00
    对啊,ocr啊,在去噪下就解决了
    zxp
        30
    zxp  
    OP
       2014-01-27 20:03:57 +08:00
    @d0a1ccec 哎呀,当年没能搞定那个网站,一直很纠结,时间长了就忘了。。。就是因为忘了那个网址,只有在sina上面随便截取了一个页面,做个说明。。。

    抱歉了各位,实在是想不起来那个网址了。
    yangzh
        31
    yangzh  
       2014-01-27 22:20:48 +08:00
    @FrankFang128 中文 ocr 是手写不能识别。这种“机器”的“端正”字体的话对于 ocr 程序还是没压力的。
    84840
        32
    84840  
       2014-01-27 23:44:35 +08:00
    先查源代码研究下这个网站是如何实现这种排版的,没有破解不了的网站。

    时间。。。,这时候我想起了《卡徒》
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2693 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 07:24 PVG 15:24 LAX 00:24 JFK 03:24
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86