近一两年中,“内容为王”被越来越多的互联网人所提及,就连BAT这些大佬级别的公司,也开始在内容领域投入大量的人力财力,各种资源内容层出不穷。
但在这个期间,很多产品因风控意识不强、版权意识不敷等问题,导致了大量核心资源外泄。
本日我们就来大略聊聊如何防止这些“无形的偷窃者”。
(此篇非技能篇,技能大神们部下留情)

偷窃者常用的盗窃手段

在文章开始,我们先大略聊聊我理解的恶意采集
所谓的恶意采集,便是将别家网站的图片、笔墨、视频、音频等资源下载至自家做事器,经大略处理后放入自家网站利用的过程。
从这个定义中,我们可以看到,恶意采集是一种损人利己的行为。
但是类似于百度蜘蛛、google蜘蛛这种可以带来流量的采集,我们不将他计入恶意采集的范畴。

接下来进入正题,我们来看看采集者常日是通过什么手段来采集我们的资源的。

html防采集资本防采集产物若何进行防采集处置 RESTful API

盗取下载链接

这种盗取办法很好理解,在很多下载网站中(如百度文库、道客巴巴、21世纪教诲网),当用户去要求下载的时候,做事器常日会返回一个下载链接给浏览器,用于下载。
在这个过程中,采集者会将链接拦截下来,进行相应的解析,再通过脚本实行自动下载。
喝杯茶的功夫,资源已经被采集走了。

百度文库资源下载页面

盗取页面的内容

很多网站为了用户体验,常日会将一部分想看到的数据,直接加载在页面上,让用户进行查看。
这时候采集者只须要解析页面的html构造,就能将页面的信息全部采集下来。
百度爬虫、快照、页面采集基本上都是用了这个事理。

出发点中文网

直接盗取web数据库

这个就比较高等了,采集者常日会编写一个爬虫,让爬虫自动创造网站上的查询接口,并且仿照接口的数据标准,向接口传输相应的查询指令,末了将返回的数据进行整理处理,就完成了相应的资源采集。

手动采集

手动采集从字面上理解,便是通过人工进行资源的采集,这种办法适用范围比较灵巧,可以通过资源下载、复制等人工办法进行资源的采集。
这种办法看着很low,效率很低。
但每每这种采集办法,让人无比头疼。

PS:1个用户在A网站下载了一份word资料,经由大略编辑后,上传到自己的网站上进行利用。
这个过程就无法通过技能手段进行跟踪(全体过程全是用户的真实操作),纵然创造了这种征象,也无法确定对方盗取了自己的资源,由于你没有切实可行的证据。
此处大家可以思考一下,百度文库的一部分内容是怎么来的。

防采集方法策略

上文中大略先容了部分采集者的采集手段,接下来我们聊聊该如何进行防采集处理。

应对下载链接透露的策略

上图为一份资料的下载流程,通过这个流程,我们创造,如果采集者可以直接拿到步骤3的下载链接,是可以不须要经由步骤2的验证,直接下载资源。
这样我们就清楚了,要防止这种采集办法的话,我们的重点在于不让用户拿到资源的下载链接。
那我们就可以按照下面的办法进行处理:

将下载链接进行加密

程序猿在开拓过程中,基本都会进行下载链接的加密处理。
加密就好比一把钥匙,没有钥匙就开不了锁,加密一样的,不知道解密办法,是无法破解你的下载链接,这样便实现了资源的防采集。

解密是须要知道加密规则的,以是在做加密处理的时候,最好不要利用第三方机加密规则,自己做最安全。
定期掩护加密规则,也是有必要的。

防止采集者拦截下载链接

有一部分采集者,会在步骤3与步骤4之间,拦截传输出去的下载链接。
这样他不须要经由步骤2,一样能拿到我们返回的下载链接进行下载。
碰着这种情形的时候,我们可以考虑不才载url加入用户验证。
在浏览器解析url的时候,验证当前用户是否是我们的下载用户,达到防采集的目的。
除非用户能拿到我们的账户信息,否则是不能采集到我们的内容。
但是这种方法无法支持断点下载。

见告你一个秘密,将网站升级升https协议,可有效的防止数据的拦截哦。

应对页面采集的策略

上图为一个页面完成显示的过程,在这个过程中,我们可以创造,采集者如果要拿到这个页面中的数据,必须进行第1步与第3步。
以是我们须要在这两步对采集者进行戒备,详细的办法如下:

限定要求数量

我们可以通过限定关键数据的要求次数来限定采集者采集数据。
这个很好理解,当用户要求数据超过多少次的时候,再次要求,我们将不给他供应相应的数据。
这个方法大略粗暴,但是很有效果。
在进行限定要求数据的时候,我们须要把稳以下几点:

判断数据要求次数时,必须通过用户名(用户ID)进行判断,不能通过IP地址。
IP地址可以假造,实现1次要求换1个IP都是可以的,以是通过IP地址判断的话,基本没什么效果。
担保账号的注册难度。
很多产品仅开放了通过手机注册账号,纵然利用第三方登录,也须要绑定相应的手机号码。
这大大增加了采集者获取账号的难度。
评估用户逐日浏览这些关键数据的次数。
只管即便不影响用户的正常利用。
供应无法直策应用的数据

页面中加载的所有内容,采集下来都是可以直策应用的,那若何供应无法直策应用的数据呢?这里就不绕圈子了,所谓无法直策应用的数据,是由于采集的资源带有部分版权,或者格式必须经由转换才能利用。
这样便增加了采集的本钱,在一定程度上预防了数据擦剂。

上图是一个题库产品的试题展示,他把试题中关键的部分(答案解析)用带水印的图片进行代替。
当采集者创造要利用这些数据的话,须要将图片记性处理,而且处理难度较大,本钱较高。
那还会采吗?

加入滋扰数据

将关键数据的html代码中,加入缺点/混乱的数据,利用爬虫采集数据的规则,将滋扰(混乱)的信息供应采集爬虫,实现防采集的目的。
这种办法会对网站的seo造成影响。

供应缺点数据

当用户要求数据的次数超过一定频率的时候,再次要求时,可以传输缺点的数据给采集者。
采集者收录到缺点的数据后,会对整批采集的数据都抱有疑惑态度,而不敢利用此批资源。
这种采集办法会对seo与用户造成一定的影响,慎用。

通过用户行为剖析来防止采集

随着技能越来加倍达,对用户行为的剖析也逐渐成熟。
我们可以将这项技能放在我们防采集领域,通过行为剖析,判断用户是机器还是正常用户。
是机器的话,我们可以根据情形,弹出验证码进行验证,也可以供应缺点的数据。

上述的5种办法,是可以同时进行利用的,例如(1)与(2)合并在一起,在用户未登录的时候供应方案(2),用户已登录时,供应体验更好的方案(1)。
更多的组合办法,可以自行进行组合。

应对页面采集时,须要考虑到seo的问题,千万不要将缺点信息供应给爬虫(百度、谷歌等爬虫)。
以是如果创造是这些“益虫”在采集数据的时候,只管即便供应完全且精确的数据给它们吧。

应对手动采集的策略

前文说过,手动采集是最难防的,但是也不是没有应对办法,但是从根本上杜绝,也是很麻烦的。
下面我们先容几种办法:

、页面内容防复制。
通过防复制处理,可避免普通用户复制页面内容,但是轻微懂点技能的职员,此功能是形同虚设的。
、限定用户每天的下载量。
、下载的文件中,带有产品的版权信息。
视频中带有logo;文件中带水印;文件本身中增加不影响文件利用的标识。
当我们的内容被上传到别的网站后,我们可以通过这些标识来维权,并哀求对方下架干系资源。
采取人工检测,封号。

应对直接攻击web数据库的策略

程序猿知道这个如何去做,相信你的小组成员,让他去办理吧!

总结

此篇文章紧张是抛砖引玉,希望通过我的分享,能让大家对防采集有个初步的认识,并运用到相应的产品方案中,增加产品的安全性。

作者:李英杰,二一教诲高等产品经理,3年互联网产品设计履历,紧张卖力题库类产品的方案与运营事情。

本文由 @李英杰 原创发布于大家都是产品经理。
未经容许,禁止转载。

题图来自PEXELS,基于CC0协议