一种反爬虫保护关键信息的方法与流程

专利2022-06-30  66

本发明涉及互联网信息安全中的反爬虫技术,特别是一种反爬虫保护关键信息的方法。



背景技术:

最新互联网安全公司imperva对全球10万个域名的网站访问进行分析,称全球范围内约52%的互联网流量来自“机器人”。自2012年imperva公司监测网络流量以来,机器产生的网络流量就连续五年超过人类产生的流量,仅在2015年人类产生的流量以微弱优势反超过一次,但数据也很快被反扑。也就是说,现有的网站大部分访问者不是人类,而是自动化程序的执行,业内将这类自动化程序简称为爬虫。

经研究统计,全球互联网请求中大概约有20%为恶意爬虫所产生。数年来恶意爬虫的比例高居不下,其中主要以窃取互联网上的权威和核心商业数据为目标,非法盗用他人数据而获取私利,还通过强硬的技术手段对加密数据进行破解,广大数据运营厂商深受其害,因此信息安全领域中对于数据防护技术的诉求日渐强烈。

为了保护服务端数据被非法获取,以及减轻服务器压力,因此需要解决如何识别连接服务端的客户端是否部署机器人的自动化程序,业内将这种阻止爬虫机器人访问的通过技术手段简称反爬虫技术。

为了阻止现在爬虫机器人,现有主流的反爬虫技术及其优劣对比如下:

1、id连续性问题

这种方法,主要通过自定义生成随机主键方案实现反爬虫。由于大多数数据表会使用数据库主键自动生成机制,爬虫程序可按照有序的id自己生成id来爬取数据,所以该方案可有效避免爬虫按id规律顺序抓取内容。但是因为id不连续,在查找定位问题时,不方便查找,而且爬虫程序容易调整,跳过不连续。

2、robots.txt配置

robots.txt是一种存放于网站根目录下的ascii编码的文本文件,通常告诉用户,该网站中的哪些内容是不应被获取的,哪些是可以被获取的。通过robots.txt这个文件,可以告诉那些知名网站搜索引擎等不要爬取自己不想被爬取得内容,即告诉搜索机器人不要爬行该网站的部分网页,也就是俗称的君子协议。但是这个文件也仅仅是告诉,是非强制性的,可以遵守也可以不遵守,因此这就导致很多爬虫私下并不遵守这个协议,还是会非法爬取内容,限制性很弱。

3、user-agent检测

无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers,这个头文件里面的大多数字段都是浏览器用于向服务器“表明身份”的,对于爬虫程序来说,最需要注意的字段就是:user-agent,因此很多网站都会建立user-agent白名单,只有属于正常范围的user-agent才能够正常访问。该方法具体是采用拦截器拦截到每一个请求,取得header,拿到user-agent,对于黑白名单的处理如下:

(1)白名单法:首先设置自己的白名单用户代理集,包括市面上主流的代理,抓到请求的ua进行对比,如果包含,则通过,否则请求不予通过。

(2)黑名单法:python、java、php这些程序爬虫会携带这些信息,由于白名单难以完全穷举市面所有ua,所以可以采用黑名单法,禁止包含这些的请求通过。

通过名单筛选,确实可以过滤一小部分简单粗暴的爬虫。但是,大多数爬虫都会伪造这些ua,所以此法也会经常失效。

4、有限数据访问

该方法是调用接口请求数据时,只返回限制页数(比如50页或者只有半年)数据允许访问,超过阈值则禁止访问更多数据,例如微博的粉丝不允许看到全部粉丝只能看到一部分。通过这种对用户不会任意返回所有的数据的方式,使得爬虫爬不到全部数据有可能就放弃,从而达到保证数据安全性的木的。但是,很多网站不适用,当用户需要全量数据访问时,则该网站的体验感就不那么好。

5、访问频率限制

该方法是在redis中以访问ip为key,访问次数为value,设置过期时间,当达到阈值时,则封禁用户或者跳出验证码。也就是在规定时间内,对访问过多的用户封禁ip地址,这样可以保护服务器,防止服务器压力过大,从而实现反爬虫。但是,这种限制会误伤普通用户,降低用户的体验。然后对于爬虫而言,ip的获取成本低,多个ip爬取时,仍然会使得该反爬策略失效。

6、js动态加载

通过对价格、手机号等敏感信息懒加载,设置按钮,用户必须点击按钮才能显示相应信息。这种方式,可以保护重要信息不被爬虫直接获取。但是也会使得用户体验较差。

7、cookie/token等有效时间

主要是对cookie或者token设置过期时间,一般情况下爬虫一般会一直在线不断爬取,通过设置限制登录用户时间,强制其下线重新登录才能继续访问。因此,相对能加大爬虫的爬取难度。但,同时也会大大降低用户的体验感。

8、账户进行访问控制

对不同用户访问数据权限不一样,比如管理员可以访问全部内容,但是普通用户只能看到自己的相关部分内容,游客更是只能看到几条数据。例如,微信的朋友圈设置为陌生人只能看到10条内容或全部不可见,然后朋友圈也可以设置半年可见或者三天可见。也就是通过不同用户拥有不同权限的设置,从而将爬虫限制到普通用户类,从而限制了爬虫获取的信息量,这种方式也可以较好的隐藏用户的宝贵数据不被爬虫获取。但是很多网站并不适用,比如信息网的房源数据,普通游客也是能看到的,那么爬虫利用普通游客的权限就可以获得这类网站的相关数据。

9、ip黑名单

对一些已知爬虫,封禁其ip地址。具体是通过建立ip和名单表并设置拦截器,对访问请求进行ip解析,和黑名单池做对比,一旦发现属于黑名单则拦截,禁止其访问,同样对于后续发现的不正常访问的地址也加入黑名单。这种方法,仅限于对已知的顽固爬虫封禁其ip地址。但是现在网上也有很多ip代理池,爬虫利用ip代理池,不断更换ip地址进行爬取。

10、图片水印

对网站图片,在保存之前增加水印,这样使得爬虫即使爬到图片信息也不能直接使用,相对增加了爬虫门槛。但是这种仅限于对图片信息有用,同时增加水印也会相对提高运营商成本。

11、信息图片化

存储手机号等关键信息之前先将手机号生成图片并存储在图片服务器,然后返回key存储在数据库,返回给用户时候返回一个key,也就是将相应的关键信息采用图片显示方式,这部分信息通过图片显示后,爬虫即使爬到也难以解析,这样可以让其不再爬取。但是前期存储成图片的过程,会明显降低用户的体验感,而且随着图像识别技术的发展,爬虫也结合了图像识别技术,同样可以爬取存储关键信息的图片并解析出关键信息。

12、接口加密

有些网站,服务器后端采用加密算法(例如,对称加密或者非对称加密算法、md5、sha等),前端对数据进行解析。利用返回后台的加密数据,组织爬虫直接获得数据,即使爬虫拿到链接得到的数据也是加密过的数据,从而难以解析。但是这种方式,前后台的工作量都比较大,会增加服务器的工作负担。

13、自定义字体

服务器前端封装特定的一套字体,利用自定义字体显示,即前端显示数据和后台的数据按自定义原则对应,但是不相同。例如,比如价格手机号信息数字0123456789可以在前端封装一套字体为3659842301,后端根据相同规则返回数据,前端显示的是3659842301;再例如,页面显示896,但是查看网页源码确是325。这种方式达到的效果:页面表现效果和网页源码对不上,则可以增加爬虫解析难度,还可以定期变更规律,使得爬虫难以捉摸其规律。但是这种方式的可能执行效率较低,会降低整体网站的执行效率。

通过总结归纳上述现有主流反爬虫技术,可以看出其缺点:一是,反爬与用户体验矛盾,反爬技术使爬虫越难爬取,往往造成的用户体验就越差;二是,反爬技术或策略不通用,现有各种策略或技术叠加使用,以个性定制化可增强反爬效果,但大大增加了网站开发和维护工作量,提高了成本;三是,爬虫结合图像识别等新技术,很容易绕过反爬策略,使得反爬技术失效。因此,总体来说,现在技术中尚无反爬策略高、成本低、用户体验好的技术。



技术实现要素:

为了克服现有反爬技术的缺点,本发明提出了一种反爬虫保护关键信息的方法,可以简单快捷地实现低成本保护网站及保护关键信息不被非法爬取,同时还可以大幅度提升用户的体验感。

本发明的技术方案如下:

一种反爬虫保护关键信息的方法,其步骤如下:

步骤1,将网站的展示信息划分为普通信息和关键信息,对于关键信息建立关键信息id,并生成包含关键信息id和反爬模块url入口地址的二维码。

所述普通信息指处于公众可知悉状态的信息;所述关键信息属于隐私类信息,或者敏感信息,或者身份信息,或者商业壁垒信息,或者可以根据网站系统定制相应的类型;其中,商业壁垒信息是指有助于企业构建差异化竞争优势的数据或内容,正常用户访问和使用可体验到差异化优势服务。所述关键信息至少包括相关的手机号码、即时通讯app的用户id号、即时通讯app的用户二维码、即时通讯app的收付款二维码、收付款app的id号、收付款app的二维码、银行账号、社保id或联系地址、隐私信息、商业壁垒信息等等信息中的一项或多项。

步骤2,当用户浏览或调用网站页面时,网站页面仅展示普通信息和二维码,屏蔽关键信息的展示。

步骤3,当用户使用手持终端(手持终端可以是手机、ipad等等电子设备)扫描网站页面展示的二维码时,或者在手持终端浏览网站时长按二维码并识别二维码时,访问反爬模块url入口地址,反爬模块采集二维码对应的关键信息id和手持终端的用户id。

这里,用户使用手机终端扫描二维码识别时,经过获取用户id等步骤,也就是通过跨终端方式使得爬虫成本大幅上升,而正常用户不受影响;在需要手持终端直接浏览时,通过长按二维码识别访问反爬模块url入口地址,爬虫成本虽然不像跨终端情景成本上升的幅度大,但经过获取用户id等步骤,跨平台验证是否是正常用户访问的方式,也大大增加了爬虫的难度,也都能达到反爬效果和保护用户的隐私的效果。实际实施本方案时,可根据需要选择是否必须跨终端,选择采集相应的用户id。

步骤4,反爬模块对采集到的用户id进行分析,根据用户id的关联信息结合判定规则,判断当前采集的用户id是否为正常用户。

如果当前采集的用户id被判断为非正常用户,反爬模块则阻断其后续访问或展示伪装信息,以实现反爬虫;

如果当前采集的用户id被判断为正常用户,反爬模块则通过关键信息id检索对应的关键信息,将关联到的关键信息自动展示给用户。

所述反爬模块是指网站设置的用于反爬的程序模块或组件,部署在网站服务器端,或者部署在专用反爬云端服务器。

所述关键信息id与关联要展示的关键信息是一一对应,或一对多的关系,通过关键信息id检索对应的一个或多个关键信息。因为关键信息id信息量极小,在传输过程非常容易进行加密操作,通过对关键信息id的加密可以进一步加大爬虫机器人的爬取难度。

步骤1中,生成包含关键信息id和反爬模块url入口地址的二维码时,手持终端扫描或者长按识别时即可链接到相应的反爬模块url入口地址。反爬模块url入口地址可携带多个参数,其中至少包含关键信息id,所以二维码中包含有关键信息id和反爬模块url入口地址。通过对关键信息id以及反爬模块url入口地址的参数进行加密,用户扫描识别二维码时(在手机浏览时,通常采用长按识别二维码的方式),扫描或识别二维码时读取的是密文,通过反爬模块url入口地址访问反爬模块时,反爬模块按需解密获取关键信息id以及所需的参数,进一步可加强安全性。

所述用户id是用户的唯一标识。

所述用户id至少包括手机号码、国际移动用户识别码(imsi)、手机终端串号(imei)、设备识别号(udid)、设备的序列号、苹果终端的idfa或idfv、集成电路卡识别码(iccid)、身份证号码、电子邮箱地址、微博账号、即时通讯app的用户昵称、用户备注名称、app的用户id号、公众号openid、银行账号、社保id中的一个或多个。

其中,用户id是用户的唯一标识,其唯一性是针对特定场景的,比如对苹果终端识别码来说,不同版本的ios提供了udid、ifda、ifdv的识别方式,在反爬模块使用苹果终端识别码做用户id时,当用户升级ios时,反爬模块获得的用户id不同,由此造成的极少量误判并不影响反爬的策略和效果;同样的,在使用用户昵称以及其他可能有少量重复情况信息做用户id时,造成的少量误判,也不影响反爬的策略和效果。

在采集用户id时,可以选取正常用户可信度高的app的id,例如:用户id可以是用户的微信号、微信昵称、微信二维码、公众号openid、支付宝号或支付宝的二维码等等。进一步的,微信或支付宝,都是采用了绑定银行卡实名等方式,几乎是零机器人用户,更具有可靠的安全性。

进一步的,所述用户id的关联信息还可以包括所述用户id在该网站系统的访问行为记录信息。

所述用户id的关联信息包括所述用户id在该网站系统的访问时可记录的信息,至少包括访问时间、访问频次、操作记录、违规记录、超级授权信息、客户端名称、版本、访问协议中的一项或多项。因为这些记录信息可以进一步作为反爬的限制策略,例如:访问时间可做时间段策略,访问频次可做频次限制策略,违规操作或超级授权信息可作黑白名单限制策略,更进一步提高反爬虫的效率。

在步骤4中,所述判定规则可根据网站系统自身情况做定制化设置,例如:一个用户id的正常访问频次、访问时间的合理范围,超出范围则为非正常用户。

如为正常用户,反爬模块再执行通过关键信息id关联出需展示的关键信息的操作,具体过程可以是通过关键信息id和要展示的关键信息的对应关系,通过关键信息id把一个或多个关键信息调出来,即可以关联多个字段信息,可通过关键信息id检索到相关字段信息。

用户在手持终端查看展示的关键信息时,对展示的联系电话可一键呼出,或者是对展示的即时通讯软件(如微信、qq、旺旺、探探、陌陌等即使通讯软件)可一键添加好友,对于无需好友验证的即时通讯软件(例如即时联系的机器人或腾讯客服qq等)还可一键联系,或通过公众号服务发送消息,用户操作更便捷,从而明显提升了用户体验。

本发明的有益效果如下:

1、本发明使用关键信息id生成二维码在网页展示,用户扫描二维码(手机端浏览时通过长按识别二维码),跨平台获取用户id用于反爬逻辑判断的反爬方法,该方法具有很较强通用性,开发成本低,可做成通用插件或服务。

2、本发明解决了反爬与用户体验的矛盾,使得爬虫机器人模仿正常用户难度大,正常用户通过手持终端,一键呼出、一键联系的方式,更是大大提升了用户体验,而且也更符合用户现在流行的使用模式。

3、本发明利用扫描二维码或者手机端长按识别二维码采集关键信息id和用户id,使用用户id的访问行为数据与正常用户访问行为范围调整访问时间段、访问频次、黑白名单等参数定制反爬策略,来判定是否为正常用户的方法,其中涉及的判定规则,易于软件配置化,可灵活调整,通过灵活调整正常用户访问行为数据范围的方法,可随时增大爬虫机器人的爬取难度,反爬策略很难被绕过,从而快速低成本地解决策略失效问题。

具体实施方式

实施例1

本发明提供的一种反爬虫保护关键信息的方法,在具体实施过程中,具体的步骤如下:

步骤1,将网站的展示信息划分为普通信息和关键信息,对于关键信息建立关键信息id,并生成包含关键信息id和反爬模块url入口地址的二维码。

所述普通信息是常规信息,例如:某户外广告牌的位置、照片、简介、所属公司等。

所述关键信息包括相关的电话号码、手机号码、微信号等,例如:广告牌所有者或代理负责人的电话号码、手机号码、微信号等,用于直接联系投放广告的负责人。

因为关键信息id信息量极小,在传输过程非常容易进行加密操作,通过对关键信息id的加密完全可以预防爬虫机器人的爬取。

例如这里,二维码关联的是一个具体url地址:http://www.abc.com/cccc.aspid=1234598,关键信息id就是1234598,用户扫描二维码访问这个url地址后,即可通过id读取到该id对应的关键信息,也可加密生成二维码进而防止抓包获取明文id,加强安全性。

步骤2,当用户a浏览该网站页面时,网站页面仅展示上述普通信息和生成的二维码,屏蔽关键信息的展示。

步骤3,当用户a使用手机扫描网站页面展示的二维码时,通过扫描二维码进行识别后访问反爬模块url入口地址,反爬模块采集二维码对应的关键信息id和手持终端的用户id。

步骤4,反爬模块对采集到的用户id进行分析,根据用户id的关联信息结合判定规则,判断是否当前采集的用户id是否为正常用户。这里用户id的关联信息主要是该用户id关联的手机号、微信昵称、公众号openid、银行帐号等信息的某一个,以及该用户id在网站系统的访问行为记录信息(如访问时间,可做时间段策略;访问频次,可做频次限制策略;违规操作或超级授权信息,可作黑白名单限制策略)。

如果当前采集的用户id被判断为非正常用户,网站系统则阻断其后续访问,以达到反爬虫的木的。

如果当前采集的用户id被判断为正常用户,网站系统则关联步骤3中所述关键信息id对应的关键信息,网站页面自动跳转展示关联到的关键信息给用户。

从而,通过屏蔽关键信息,可以避免爬取信息者爬取到对应的负责人、找到关键的位置等信息。

实施例2

本发明提供的一种反爬虫保护关键信息的方法,在具体实施过程中,具体的步骤如下:

步骤1,将网站的展示信息划分为普通信息和关键信息,对于关键信息建立关键信息id,并生成包含关键信息id和反爬模块url入口地址的二维码。

例如:在工商查询时,所述普通信息是常规信息,某企业的名称、公司简介及地址信息,所述关键信息可以是法人的联系方式、照片、电话号码、手机号码、微信号等。

步骤2,当用户b在手机端浏览该网站页面时,网站页面仅展示上述普通信息和生成的二维码,屏蔽关键信息的展示。

步骤3,当用户b使用手机扫描网站页面展示的二维码时,通过长按二维码识别后访问反爬模块url入口地址,反爬模块采集二维码对应的关键信息id和手持终端的用户id。

步骤4,反爬模块对采集到的用户id进行分析,根据用户id的关联信息结合判定规则,判断是否当前采集的用户id是否为正常用户。这里用户id的关联信息主要是该用户id关联的手机号、微信昵称、公众号openid、银行帐号等信息的某一个,以及该用户id在网站系统的访问行为记录信息(如访问时间,可做时间段策略;访问频次,可做频次限制策略;违规操作或超级授权信息,可作黑白名单限制策略)。

如果当前采集的用户id被判断为非正常用户,网站系统则阻断其后续访问,以达到反爬虫的木的。

如果当前采集的用户id被判断为正常用户,网站系统则关联步骤3中所述关键信息id对应的关键信息,网站页面自动跳转展示关联到的关键信息给用户。

从而,通过屏蔽关键信息,可以避免爬取信息者爬取到对应的法人信息等隐私类信息。

实施例3

本发明提供的一种反爬虫保护关键信息的方法,在具体实施过程中,具体的步骤如下:

步骤1,将网站的展示信息划分为普通信息和关键信息,对于关键信息建立关键信息id,并生成包含关键信息id和反爬模块url入口地址的二维码。

例如:在企业推广网站上,所述普通信息是常规信息,某企业的名称、公司简介及地址信息,所述关键信息可以是联系人的联系方式、合作策略、营销策略等。

步骤2,当用户c在手机端浏览该网站页面时,网站页面仅展示上述普通信息和生成的二维码,屏蔽关键信息的展示。

步骤3,当用户c使用手机扫描网站页面展示的二维码时,通过长按二维码识别后访问反爬模块url入口地址,反爬模块采集二维码对应的关键信息id和手持终端的用户id。

步骤4,反爬模块对采集到的用户id进行分析,根据用户id的关联信息结合判定规则,判断是否当前采集的用户id是否为正常用户。这里用户id的关联信息主要是该用户id关联的手机号、微信昵称、公众号openid、银行帐号等信息的某一个,以及该用户id在网站系统的访问行为记录信息(如访问时间,可做时间段策略;访问频次,可做频次限制策略;违规操作或超级授权信息,可作黑白名单限制策略)。

如果当前采集的用户id被判断为非正常用户,网站系统则阻断其后续访问,以达到反爬虫的木的。

如果当前采集的用户id被判断为正常用户,网站系统则关联步骤3中所述关键信息id对应的关键信息,网站页面自动跳转展示关联到的关键信息给用户。

从而,通过屏蔽关键信息,可以避免爬取信息者爬取到对应的联系人的联络信息,或者公司的优惠合作策略等等商业壁垒信息。

用户c可以通过手机直接联系想合作的企业,远程签订相应的合同,实现远距离低费用高效率的共赢合作关系。

实施例4

基于实施例1-3或其他类似的任意一种网站展示信息,在步骤1中,所述关键信息id与关联要展示的关键信息是一一对应关系。

其中,一个关键信息id可以关联一个或多个关键信息,比如一项身份信息,一项联络信息等。

实施例5

基于实施例1-3或其他类似的任意一种网站展示信息,生成包含关键信息id和反爬模块url入口地址的二维码时,手持终端扫描时即可读出相应的信息。

具体过程可以是,通过对关键信息id以及反爬模块url入口地址的参数进行加密,用户扫描或者长按识别时(在手机浏览时,通常采用长按识别二维码的方式),扫描或者长按识别读取的是密文,通过反爬模块url入口地址访问反爬模块时,反爬模块按需解密获取关键信息id,进一步可加强安全性。其中,反爬模块url入口地址可携带多个参数,其中至少包含关键信息id,所以二维码中包含有关键信息id和反爬模块url入口地址。

通过关键信息id和要展示的关键信息的对应关系,通过关键信息id把一个或多个关键信息调出来,即可以关联多个字段信息,可通过关键信息id检索到相关字段信息。

所述用户id是用户的唯一标识,用户id可以至少包括手机号码、国际移动用户识别码(imsi)、手机终端串号(imei)、设备识别号(udid)、设备的序列号、苹果终端的idfa或idfv、集成电路卡识别码(iccid)、身份证号码、电子邮箱地址、微博账号、即时通讯app的用户昵称、用户备注名称、app的用户id号、公众号openid、银行账号、社保id中的一个或多个。

在采集用户id时,可以选取正常用户可信度高的app的id,例如:用户id的关联信息可以是用户的微信号、微信昵称、微信二维码、公众号openid、支付宝号或支付宝的二维码等等。进一步的,微信或支付宝,都是采用了绑定银行卡实名等方式,几乎是零机器人用户,故更具有可靠的安全性。

实施例6

基于实施例1-5中的任一实施步骤,对于步骤4中,所述用户id的关联信息在该网站系统的访问时可记录的信息,至少包括访问时间、访问频次、操作记录、违规记录、超级授权信息、客户端名称、版本、访问协议中的一项或多项。因为这些记录信息可以进一步作为反爬的限制策略,例如:访问时间可做时间段策略,访问频次可做频次限制策略,违规操作或超级授权信息可作黑白名单限制策略,更进一步提高反爬虫的效率。

在步骤4中,所述判定规则可根据网站自身情况做定制化设置,定制规定的内容可以包括:一个用户id的正常访问频次、时间段的合理范围,超出范围则为非正常用户。例如:一个微信昵称为abc的用户,在户外广告牌查询网站浏览广告牌信息,正常情况一天不会访问超过20个,如网站系统发现用户abc的访问次数超过20个,则可以判断为非正常用户。

实施例7

基于实施例1-6中的任意一种实施方案,用户在手机上查看展示的关键信息时,展示的关键信息中可以包括手机号、微信号、微信二维码、qq号、公众号等等信息。

当用户在手机上查看展示的关键信息是联系电话时,用户可以通过手机直接一键呼出,中间不存在其他第三方网页信息,几乎可以完全避免爬虫爬取展示页面中保密的关键信息。

当用户在手机上查看展示的关键信息是即时通讯软件(如微信、旺旺、探探、陌陌等即使通讯软件)时,用户可以一键添加好友,可以有效避免爬虫软件的爬取。

当用户在手机上查看展示的关键信息是无需好友验证的即时通讯软件(例如即时联系的机器人或腾讯qq等)还可一键联系,可以有效避免爬虫软件的爬取。

当用户在手机上查看展示的关键信息是通过公众号服务发送消息,可以有效避免爬虫软件的爬取。

再或者,当展示的关键信息是支付宝号等收付款类联系方式时,用户可以在手机展示页面上直接一键支付款项或者添加好友。

那么通过上述实施例可以看出,用户浏览pc端的网站信息时,通过手持终端可以更快捷地浏览和查询到自己所需的内容,并且操作更安全,对于pc端完全不显示保密的关键信息,不仅可以避免旁边的人员偷窥相关信息,也可以避免爬虫从pc端再爬取相关信息,而且用户通过手持终端扫描二维码后,即可以关闭网站页面,直接从手机端查阅到相关信息,不用一直在pc端操作,自由度和私密性都更高,所以可以看出,本发明在实际应用中,用户操作更便捷,可以大大提升用户的体验。


技术特征:

1.一种反爬虫保护关键信息的方法,其特征在于包括如下步骤:

步骤1,将网站的展示信息划分为普通信息和关键信息,对于关键信息建立关键信息id,并生成包含关键信息id和反爬模块url入口地址的二维码;所述关键信息属于隐私类信息,或者敏感信息,或者身份信息,或者商业壁垒信息;

步骤2,当用户浏览或调用网站页面时,网站页面仅展示普通信息和二维码,屏蔽关键信息的展示;

步骤3,当用户使用手持终端扫描网站页面展示的二维码时,或者在手持终端浏览网站时长按二维码并识别二维码时,访问反爬模块url入口地址,反爬模块采集二维码对应的关键信息id和手持终端的用户id;

步骤4,反爬模块对采集到的用户id进行分析,根据用户id的关联信息结合判定规则,判断当前采集的用户id是否为正常用户;

如果当前采集的用户id被判断为非正常用户,反爬模块则阻断其后续访问或展示伪装信息,以实现反爬虫;

如果当前采集的用户id被判断为正常用户,反爬模块则通过关键信息id检索对应的关键信息,将关联到的关键信息自动展示给用户。

2.根据权利要求1所述的反爬虫保护关键信息的方法,其特征在于:所述反爬模块是指网站设置的用于反爬的程序模块或组件,部署在网站服务器端,或者部署在专用反爬云端服务器。

3.根据权利要求1所述的反爬虫保护关键信息的方法,其特征在于:所述关键信息id与关联要展示的关键信息是一一对应,或一对多的关系,通过关键信息id检索对应的一个或多个关键信息。

4.根据权利要求1所述的反爬虫保护关键信息的方法,其特征在于:步骤1中,生成包含关键信息id和反爬模块url入口地址的二维码时,对关键信息id进行加密,扫描或识别二维码时读取的是密文,通过反爬模块url入口地址访问反爬模块时,反爬模块按需解密获取关键信息id。

5.根据权利要求1所述的反爬虫保护关键信息的方法,其特征在于:所述用户id是用户的唯一标识。

6.根据权利要求1或5所述的反爬虫保护关键信息的方法,其特征在于:所述用户id至少包括手机号码、国际移动用户识别码、手机终端串号、设备识别号、设备的序列号、苹果终端的idfa或idfv、集成电路卡识别码、身份证号码、电子邮箱地址、微博账号、即时通讯app的用户昵称、用户备注名称、app的用户id号、公众号openid、银行账号、社保id中的一个或多个。

7.根据权利要求1所述的反爬虫保护关键信息的方法,其特征在于:所述用户id的关联信息包括所述用户id在该网站系统的访问时可记录的信息,至少包括访问时间、访问频次、操作记录、违规记录、超级授权信息、客户端名称、版本、访问协议中的一项或多项。

8.根据权利要求1所述的反爬虫保护关键信息的方法,其特征在于:用户在手持终端查看展示的关键信息时,对展示的联系电话可一键呼出。

9.根据权利要求1所述的反爬虫保护关键信息的方法,其特征在于:用户在手持终端查看展示的关键信息时,对展示的即时通讯软件的联系方式可一键添加好友,或一键联系,或通过公众号服务发送消息。

技术总结
本发明公开了一种反爬虫保护关键信息的方法,其主要实现步骤为:将网站展示信息划分为普通信息和关键信息,并生成包含关键信息ID和反爬模块URL入口地址的二维码。当用户需要查询关键信息时,通过手持终端扫描或长按识别二维码,反爬模块采集用户ID进行判断分析,如果用户ID被判断为非正常用户,则阻断其后续访问;如果被判断为正常用户,则关联关键信息ID对应的关键信息并在手持终端自动展示给用户。从上述步骤中可以看出,本发明以简单快捷地实现低成本保护网站及保护关键信息不被非法爬取,同时还可以大幅度提升用户的体验。

技术研发人员:张冰
受保护的技术使用者:四川坤翔科技有限公司
技术研发日:2020.01.13
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-55722.html

最新回复(0)