项目有个在 Web 展示 XML 的需求,一通 baidu 无果,转变思路搜索在线 XML 格式化工具,找到了脚本之家
http://tools.jb51.net/code/xmlcodeformat
这个看上去不错,想到臭名昭著的脚本之家一系列行径,我想直接 copy 它的源码也就没多少罪恶感了,然而直接 copy 源码运行后一直跳转到它的网站
搜索了半天没找到关键字 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 编辑器,感觉白和脚本之家较劲了。
不过这个反盗网页的方法是够恶心的,一般没耐心又没太多经验的人估计会放弃了,有需求的同学可以试试这个方法。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.