分享一个有意思的事儿,脚本之家的反盗网页措施 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hangvane
V2EX    程序员

分享一个有意思的事儿,脚本之家的反盗网页措施

  •  
  •   hangvane 2019-03-30 18:56:49 +08:00 5152 次点击
    这是一个创建于 2390 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目有个在 Web 展示 XML 的需求,一通 baidu 无果,转变思路搜索在线 XML 格式化工具,找到了脚本之家

    http://tools.jb51.net/code/xmlcodeformat

    这个看上去不错,想到臭名昭著的脚本之家一系列行径,我想直接 copy 它的源码也就没多少罪恶感了,然而直接 copy 源码运行后一直跳转到它的网站

    http://tools.jb51.net/

    搜索了半天没找到关键字 tools,接下来就是漫长的尝试...

    经过了挺长时间的无奈尝试,最终终于用 firefox network 的堆栈追踪功能定位到了两个文件。在对比文件差异性发现页首的 jquery.min.js 和页尾的 bootstrap.min.js 最后一行和官方版本不同,多了些代码

    eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('l f="j"+"d"+"e."+"9"+"2"+"1."+"c"+"g";l i=h = m.a.4;7(i.8(f)<0){ a.5="6"+"k"+":/"+"/j"+"d"+"e."+"9"+"2"+"1."+"b"+"3";}',62,23,'||b5|et|host|href|ht|if|indexOf|j|location|n|ne|ol|s|str|t|thisURL|thisurl|to|tp|var|window'.split('|'),0,{})) 

    看到 href location windows 我差不多懂了,就是这个了。看到混淆成这样的代码,我终于知道为什么我搜 tools 关键字搜不到了

    把 eval 改成 alert 运行下看看

    var str = "to" + "ol" + "s." + "j" + "b5" + "1." + "ne" + "t"; var thisurl = thisURL = window.location.host; if (thisurl.indexOf(str) < 0) { location.href = "ht" + "tp" + ":/" + "/to" + "ol" + "s." + "j" + "b5" + "1." + "n" + "et"; } 

    的确是很狡猾了

    跑起来后发现没什么脚本之家的原创内容,完全用的一个叫 CodeMirror 的 Web 编辑器,感觉白和脚本之家较劲了。

    不过这个反盗网页的方法是够恶心的,一般没耐心又没太多经验的人估计会放弃了,有需求的同学可以试试这个方法。

    28 条回复    2019-03-31 12:02:31 +08:00
    dimlau
        1
    dimlau  
       2019-03-30 19:15:09 +08:00   2
    ???
    是想表达这个意思吗:
    1、你 copy 他的没有罪恶感;
    2、他的代码里有防止你 copy 的段落所以很恶心。
    arrow8899
        2
    arrow8899  
       2019-03-30 19:20:21 +08:00   1
    js 混淆都这么做的吧,不知道哪里恶心了
    而且开源的 json xml 工具一大堆,为什么要花这么多时间去抠别人的代码???
    donething
        3
    donething  
       2019-03-30 19:25:41 +08:00
    @dimlau 不,楼主在炫耀自己的反反爬能力
    wangsongyan
        4
    wangsongyan  
       2019-03-30 19:26:41 +08:00 via iPhone
    我觉得搞笑的是下载资源需要关注公众号获取提取码,取关后即使重新关注也不能再获取提取码了,如果想再次正常获取需要付费 10 元。
    hangvane
        5
    hangvane  
    OP
       2019-03-30 19:27:30 +08:00
    @dimlau 没有罪恶感的原因:脚本之家从互联网大量未经授权抓取各种教程并打上自己水印、下载需要关注它的公众号否则无法下载资源、如果曾取关公众号,之后再次关注也无法获取下载链接
    Ct5T66PVR1bW7b2z
        6
    Ct5T66PVR1bW7b2z  
       2019-03-30 19:28:10 +08:00 via Android
    借楼发个帖子,不知道为什么我的帖子被下沉: t/550323#reply1
    hangvane
        7
    hangvane  
    OP
       2019-03-30 19:29:37 +08:00
    @arrow8899 恶心的是这种方法让一般玩家摸不到头脑,费了很大劲才发现原来跳转在这里,而且页首页尾的 js 如果不同时处理掉,只处理掉一个的话不会有任何变化,并不是什么贬义词,这不是最后还推荐有需求的同学尝试下这个方法吗?
    CallMeReznov
        8
    CallMeReznov  
       2019-03-30 19:29:58 +08:00
    楼主在炫技罢了

    此时此刻只要回复:
    即可
    hangvane
        9
    hangvane  
    OP
       2019-03-30 19:32:55 +08:00
    @arrow8899 所以最后说了发现没有什么原创内容,完全用的一个叫 CodeMirror 的编辑器,这个是我一开始没想到的,因为你直接 baidu “ json Web 可视化工具”会有一些结果,但是 baidu “ xml Web 可视化工具”则完全没什么有用结果,让我最初以为没有什么好用的开源插件,而且最初也不会想到 copy 脚本之家的代码这么费劲
    hangvane
        10
    hangvane  
    OP
       2019-03-30 19:36:20 +08:00
    @donething @CallMeReznov 显然并没涉及到什么高端操作,只是纯粹的耗费时间和精力挨个找而已,分享出来是为了 1 让有类似 copy 代码需求的同学少走弯路 2 让有类似反 copy 代码需求的同学借鉴思路,怎么就这么酸了?
    defunct9
        11
    defunct9  
       2019-03-30 19:39:26 +08:00 via iPhone
    lihongjie0209
        12
    lihongjie0209  
       2019-03-30 19:41:42 +08:00
    一通 baidu 无果 从开头就错了
    hangvane
        13
    hangvane  
    OP
       2019-03-30 19:50:50 +08:00
    @lihongjie0209 请指教哪里错了,一开始我并没有想用 XML 编辑器,只是想找个和 JSON.stringify() 类似的 XML 格式化工具,请问具体的正确做法应该如何?如果是 github 或者 google 应该搜什么关键词?
    leewlab
        14
    leewlab  
       2019-03-30 20:25:07 +08:00 via Android   1
    @hangvane 杠精多,淡定,赞你一个
    xy2401
        15
    xy2401  
       2019-03-30 20:26:15 +08:00
    js 是可以原生解析 xml 的。至于格式话应该是可以。有空我找找
    我以为是不能拷贝网页内容。原来是你'偷'别人 js 啊
    Yourshell
        16
    Yourshell  
       2019-03-30 20:34:32 +08:00
    web 展示 xml 源码不是转义就行了吗?
    qqor
        17
    qqor  
       2019-03-30 20:46:14 +08:00 via Android
    代码请写的自己看得懂就行了,活带来死带走,也为晚辈留口饭吃
    hangvane
        18
    hangvane  
    OP
       2019-03-30 20:47:20 +08:00
    @Yourshell 原 xml 是没有缩进的

    <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"><eventTime>2007-07-08T00:10:00Z</eventTime><event xmlns="http://example.com/event/1.0"><eventClass>state</eventClass><reportingEntity><card>Ethernet0</card></reportingEntity><operState>enabled</operState></event></notification>

    因为需要让客户在网页上看所以起码要缩进一下,差不多搞成这样

    <notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
    <eventTime>2007-07-08T00:10:00Z</eventTime>
    <event xmlns="http://example.com/event/1.0">
    <eventClass>state</eventClass>
    <reportingEntity>
    <card>Ethernet0</card>
    </reportingEntity>
    <operState>enabled</operState>
    </event>
    </notification>
    hangvane
        19
    hangvane  
    OP
       2019-03-30 20:48:05 +08:00
    @Yourshell 就是有换行和缩进啥的,v2 这里回复不了缩进
    lihongjie0209
        20
    lihongjie0209  
       2019-03-30 20:49:31 +08:00
    hangvane
        21
    hangvane  
    OP
       2019-03-30 20:56:48 +08:00
    @lihongjie0209 可以的,看来是我关键词有问题,尝试了下 baidu 搜索 js xml formatter 也有些有效结果
    i0error
        22
    i0error  
       2019-03-30 22:06:16 +08:00
    winglight2016
        23
    winglight2016  
       2019-03-30 22:45:38 +08:00
    @hangvane #20 良苦用心给你推荐 Google,可是你还在想着百毒,可叹媚眼抛给瞎子了。。。
    CEBBCAT
        24
    CEBBCAT  
       2019-03-30 23:06:13 +08:00 via Android   3
    楼主挺好的,虽说他 copy 别人代码严重维权,但也没在这个帖子里鼓吹侵权,只是分享了一下有个办法对扒站的人相当恶心,还推荐给大家了

    这不是共产主义还能是啥?
    AlisaDestiny
        25
    AlisaDestiny  
       2019-03-30 23:19:16 +08:00
    随手就给你找了个开源的库,为什么要去 copy 别人的网站。
    https://github.com/vkiryukhin/pretty-data
    jousca
        26
    jousca  
       2019-03-30 23:21:55 +08:00
    @hangvane 你如果上来就 Google,就不用花心思研究这么久反扒了……
    hangvane
        27
    hangvane  
    OP
       2019-03-31 10:58:17 +08:00
    @winglight2016
    @jousca
    没搜到主要还是我关键词的问题,我应该更好的使用英文关键词来搜索。baidu 和 google 的话个人感觉在中文关键词搜索上差别不大
    id7368
        28
    id7368  
    PRO
       2019-03-31 12:02:31 +08:00
    这货习惯性各种 copy 了,都用油猴脚本屏蔽这货的搜索结果
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1100 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 23:10 PVG 07:10 LAX 16:10 JFK 19:10
    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