数据处理方法及装置与流程

文档序号:17539426发布日期:2019-04-29 14:23阅读:172来源:国知局
数据处理方法及装置与流程

本发明涉及信息安全技术领域,具体而言,涉及一种数据处理方法及装置。



背景技术:

爬虫:网络爬虫(又被称为网页蜘蛛,网络机器人,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。在实际场景中,爬虫也被称为蚂蚁、自动索引、模拟程序或者蠕虫。

反爬虫,一种克制恶意爬虫行为的方式。现有技术中,主要是通过限制爬虫用户的ip(internetprotocoladdress,网际协议地址),识别爬虫用户,从而保护重要的数据。由于爬虫用户可以通过隐藏自己的ip等方式避免被限制,所以识别爬虫用户比较困难,不能有效的保护核心数据。



技术实现要素:

本申请在于提供一种数据处理方法及装置,以改善现有技术中不能有效的保护核心数据的技术问题。

本发明的实施例通过如下方式实现:

第一方面,本发明实施例提供一种数据处理方法,所述方法包括:获取预先存储的自定义字符;使用所述自定义字符替换目标页面的源代码中的目标数据,并存储所述自定义字符与其替换的目标数据的对应关系,其中,在显示所述目标页面时,根据所述对应关系将所述目标数据显示在所述目标页面上。

在本发明实施例的技术方案中,使用预先存储的自定义字符对目标页面的源代码中的目标数据进行替换,并存储替换的对应的关系。与现有技术相比,不用去找到爬虫用户再限制其ip,对于爬虫用户来说从页面源代码中获取到的数据是替换后的自定义字符,如果不知道其中的对应关系,就无法得知正确的目标数据,有效的保护核心数据。

结合第一方面,在第一方面的第一种可能的实现方式中,获取预先存储的自定义字符包括:

从预先存储的自定义字符库中任意选择至少两种自定义字符;相应的,使用所述自定义字符替换目标页面的源代码中的目标数据,并存储所述自定义字符与其替换的目标数据的对应关系,包括:使用所述至少两种自定义字符替换目标页面的源代码中的目标数据,并存储每种自定义字符与其替换的目标数据的对应关系。使用多种自定义字符进行替换,使替换的对应关系更复杂且具有随机性。如果爬虫想要尝试破解对应关系,复杂且随机性较强的对应关系加大了破解的难度,做到有效的保护核心数据。

结合第一方面,在第一方面的第二种可能的实现方式中,获取预先存储的自定义字符,包括:周期性获取预先存储的自定义字符,其中,至少有两次获取的自定义字符互不相同。通过周期性的获取不同的自定义字符,那么替换目标数据的自定义字符也是周期性变化的,使对应关系能够动态变化和更新,更加有效的防止爬虫用户进行针对性分析而盗取核心数据。

结合第一方面,在第一方面的第三种可能的实现方式中,在获取预先存储的自定义字符之前,所述方法还包括:

获取多种初始字符;按照预设规则对所述多种初始字符进行转换,得到与所述多种初始字符分别对应的自定义字符,并将所述自定义字符进行对应存储。选择多种初始字符,按照预设规则进行转换,得到多种自定义字符,使爬虫难以盗取正确的核心数据。

结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述预设规则包括改变所述初始字符对应的进位制编码、改变所述初始字符对应的进位制编码的格式中的至少一种。通过对初始字符进行至少一种方式的转换得到的自定义字符,使爬虫难以破解自定义字符对应的目标数据,有效的保护核心数据。

第二方面,本发明实施例还提供一种数据处理方法,所述方法包括:接收用户的目标页面访问请求;获取与所述目标页面对应的源代码,以及所述源代码中的自定义字符与其替换的目标数据的对应关系;显示所述目标页面,并根据所述对应关系将所述目标数据显示在所述目标页面上。

根据对应关系将正确的目标数据显示给正常用户,在保护核心数据的同时不影响正常用户的浏览。

结合第二方面,在第二方面的第一种可能的实现方式中,获取所述源代码中的自定义字符与其替换的目标数据的对应关系包括:获取所述源代码中的至少两种自定义字符与其替换的目标数据的对应关系,所述对应关系包括所述源代码中每种自定义字符与其替换的目标数据的对应关系。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,根据所述对应关系将所述目标数据显示在所述目标页面上包括:根据所述对应关系确定所述至少两种自定义字符分别替换的目标数据;将所述分别替换的目标数据显示在所述目标页面上。

第三方面,本发明实施例提供一种数据处理装置,所述数据处理装置包括用于实现第一方面所述的方法的功能模块。

第四方面,本发明实施例还提供一种数据处理装置,所述数据处理装置包括用于实现第二方面所述的方法的功能模块。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的数据处理系统结构示意图;

图2为本发明实施例提供的一种数据处理方法流程图;

图3为本发明实施例提供的另一种数据处理方法流程图;

图4为本发明实施例提供的一种数据处理装置的功能框图;

图5为本发明实施例提供的另一种数据处理装置的功能框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

为了能够更加清楚地理解本发明实施例的技术方案,本发明实施例先对本发明实施例的技术方案的应用场景作介绍。

请参照图1,是本发明实施例提供的一种数据处理系统100,如图1所示,数据处理系统100包括客户端101和服务器102,客户端101和服务器102之间通信连接。其中的客户端101可以是例如手机、电脑等电子设备或者安装在电子设备上的网页浏览器等,用户可以利用客户端101查询或者浏览各种数据。服务器102可以是不同类型的服务器例如文件服务器、终端服务器或者邮件服务器等。服务器102中存储着大量的数据,这些数据可以供用户查询或者浏览。但是,有关于用户的隐私或者商业机密或者身份信息等核心数据,可能不是所有用户都能看到的,因此存在着一些恶意的行为想要盗取这些核心数据,在这种情况下,服务器102就需要对这些核心数据进行保护,同时还要保证正常用户能够获取到核心数据。其中,正常用户可以理解为拥有查看这些核心数据的权限的用户,比如某一封邮件的收件人和发件人,或者未发布的重要消息的知情者等。

爬虫:网络爬虫(又被称为网页蜘蛛,网络机器人,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。如果有恶意的爬虫想要盗取核心数据,会去爬取服务器102中的源代码,从源代码中可以得知核心数据,破坏信息的安全性和保密性。

基于前述介绍的数据处理系统,为了保护核心数据,维护信息安全,本发明实施例提出一种数据处理方法,可以应用于该数据处理系统。

接下来请参照图2,是本发明实施例提供的数据处理方法的流程图,该数据处理方法可以应用于服务器102。如图2所示,该方法包括:

步骤201:获取预先存储的自定义字符。

步骤202:使用所述自定义字符替换目标页面的源代码中的目标数据,并存储所述自定义字符与其替换的目标数据的对应关系,其中,在显示所述目标页面时,根据所述对应关系将所述目标数据显示在所述目标页面上。

使用预先存储的自定义字符对目标页面的源代码中的目标数据进行替换,并存储替换的对应的关系。与现有技术相比,不用去找到爬虫用户再限制其ip,对于爬虫用户来说看到的数据是替换后的自定义字符,如果不知道其中的对应关系,就无法得知正确的目标数据,有效的保护核心数据。

其中,对于目标页面和目标数据,目标页面代表用户访问的某一个页面,而目标数据代表该页面中的核心数据。举例来说,假设一个学生想要访问自己学校的教务处官网,在这个访问过程中该学生所浏览的每一个页面都可以称作目标页面,比如登录页面、个人信息页面等。在每一个目标页面上的各种数据则称作目标数据,比如在个人成绩页面上的每一科的成绩都可以称作目标数据。可以理解,对于学生来说,个人成绩是个人隐私,是不希望被别人看到的,对学校来说,学校里面每个学生的成绩也属于保密信息,是不能被盗取的数据,所以保护类似于这类场景中的核心数据是很重要的。

在步骤201中,获取预先存储的自定义字符,对于自定义字符,是预先设置好的,因此在执行步骤201之前,所述方法还包括:获取多种初始字符;按照预设规则对所述多种初始字符进行转换,得到与所述多种初始字符分别对应的自定义字符,并将所述自定义字符进行对应存储。

其中,多种初始字符可以是任意的现有字符,字符可以理解为数据和信息的字母、数字或者其他符号,字母例如中文字母、英文字母、阿拉伯字母等;数字例如不同国家的不同表现形式的数据;其他符号可以是一些特殊的符号,例如生僻字火星文等等。

初始字符的获取的途径可以是从现有的字符库中选取,在选取时可以选取多种不同类型的字符,也可以选择多种不同形式的字符等,也可以随机的进行抽取,抽取出大量的字符。

对于预设规则,可以包括改变所述初始字符对应的进位制编码、改变所述初始字符对应的进位制编码的格式中的至少一种。

可以理解的是,每个字符都会有其特定的进位制表示,例如数字10有其十进制表示、二进制表示、八进制表示、十六进制表示。对于数字来说通常都是通过十进制来表示的,但是也可以通过进制之间的转换关系得到其他的进制表示。因此,在本发明实施例中,自定义字符可以通过改变初始字符的进位制编码得到,例如改变初始字符的十进制编码、二进制编码、十六进制编码、八进制编码。

为了使得到的自定义字符难以辨认,还可以改变进位制编码的格式,编码格式包括ascii编码格式、ansi编码格式、unicode编码格式。比如中文“天”这个字通过不一样的编码格式,其对应的进制标识也不同。

当然,预设规则不仅限于这两种改变方式,还可以是其它改变方式,任何可以使初始字符转换为难以辨认的字符的改变方式都可以作为本发明实施例所提出的预设规则。

在制定好预设规则后,可以根据预设规则进行转换,举例来说,获取到十进制数字“57”,在二进制中表示为“111001”,在十六进制中表示为“39”,可以更改任意一种进制表示,更改的方式可以是改变其中的一个数字,或者添加新的数字,在转换后就得到新的自定义字符。

在得到自定义字符后,可以对每一个自定义字符的辨认难度进行测试,测试的方式可以是人工识别或者机器识别,越难识别的自定义字符说明辨认难度越高,对于辨认难度较低的自定义字符,可以选择不使用该自定义字符,既不作对应的存储。

完成多个初始字符的转换后,可以得到多种自定义字符,将得到的自定义字符进行对应存储。存储的方式是可以设置一个字符库,将得到的每种自定义字符作为一个字符文件,对字符文件对应命名后存储到该字符库中。

在将自定义字符存储到字符库中以后,执行步骤201获得自定义字符,在获取到自定义字符后,执行步骤202,使用获取到的自定义字符替换目标页面的源代码中的目标数据,并将自定义字符与其替换的目标数据的对应关系进行存储。

可选的,步骤201可以包括:从预先存储的自定义字符库中任意选择至少两种自定义字符。相应的,使用所述自定义字符替换目标页面的源代码中的目标数据,并存储所述自定义字符与其替换的目标数据的对应关系,包括:使用所述至少两种自定义字符替换目标页面的源代码中的目标数据,并存储每种自定义字符与其替换的目标数据的对应关系。

其中,选择至少两种自定义字符,至少两种自定义字符可以替换不同的目标数据,或者替换同一目标数据中的不同部分,或者其他可行的替换方式,使替换后的数据更难以辨认。比如,假设当前的目标数据有“xy”、“xz”、“yz”,在这种情况下,可以获取至少三种自定义字符,替换的方式可以是:使用第一种自定义字符替换目标数据“xy”,使用第二种自定义字符替换目标数据“xz”,使用第三种自定义字符替换目标数据“yz”;替换的方式还可以是:使用其中的任意两种自定义字符分别替换目标数据“xy”中的“x”和“y”,另外两个目标数据同理,使用任意两种自定义字符分别替换。替换的方式还可以是其它可行的方式,在本实施例中不作穷举。

在完成替换后,进行对应关系的存储。以上述举例中的第一种替换方式为例,存储的对应关系为:目标数据“xy”-第一种自定义字符;目标数据“xz”-第二种自定义字符;目标数据“yz”-第三种自定义字符。在显示目标页面时,可以根据该对应关系将目标数据显示在目标页面上。

若目标页面上的目标数据比较多且复杂时,可以选择比较多的类型的自定义字符进行替换。若目标页面上的目标数据比较简单或者比较单一,那么可以选择比较少的类型的自定义字符进行替换。

此外,若爬虫在爬取到自定义字符后,对其进行分析可能会获知到其中的对应关系,为了避免这种情况,可以对自定义字符进行动态的更新,因此步骤201还可以包括:周期性获取预先存储的自定义字符,其中,至少有两次获取的自定义字符互不相同。其中,周期性可以是预先设置好的周期,比如5分钟、10分钟等,也就是每隔一段时间获取新的自定义字符。从而可以使用新的自定义字符继续作替换,假设爬虫已经解析出对应关系,但是由于引入了新的自定义字符以及作相应的替换,爬虫解析出的对应关系已经不再适用于此时的目标页面上的数据,依然不能得知目标数据。

通过在服务器102端执行完步骤201和步骤202,服务器102端源代码中的目标数据已经替换为相应的自定义字符,此时,爬虫来爬取数据,首先自定义字符是难以辨认的,不知道其中的对应关系,因而不知道自定义字符对应的正确数据,实现了核心数据的保护。比如“e123”对应的是“1”,在源代码中经过替换后变为“e123”,爬虫并不知道其中真实的数据。

接下来请参照图3,是本发明实施例提供的数据处理方法的流程图,图3所示的数据处理方法可以应用于客户端101,使正常用户可以查看核心数据。所述方法包括:

步骤301:接收用户的目标页面访问请求。

步骤302:获取与所述目标页面对应的源代码,以及所述源代码中的自定义字符与其替换的目标数据的对应关系。

步骤303:在显示所述目标页面时,根据所述对应关系将所述目标数据显示在所述目标页面上。

在步骤302中,若源代码中有多种自定义字符,那么对应的步骤302包括:获取所述源代码中的至少两种自定义字符与其替换的目标数据的对应关系,所述对应关系包括所述源代码中每种自定义字符与其替换的目标数据的对应关系。也就是若源代码中有多种自定义字符,需要得到每种自定义字符与其替换的对应关系,如前述举例中所描述的:目标数据“xy”-第一种自定义字符;目标数据“xz”-第二种自定义字符;目标数据“yz”-第三种自定义字符。

相应的,步骤303包括:根据所述对应关系确定所述至少两种自定义字符分别替换的目标数据;将所述分别替换的目标数据显示在所述目标页面上。

如前述描述的:目标数据“xy”-第一种自定义字符;目标数据“xz”-第二种自定义字符;目标数据“yz”-第三种自定义字符。可以确定出目标数据有:“xy”、“xz”、“yz”,在显示目标页面时,可以将这三个目标数据显示在目标页面对应的位置上。

举例来说,在客户端101显示目标页面时,假设“e123”对应的是“1”,在源代码中显示的是“e123”,经过对应关系,客户端102将正确的数据“1”显示在目标页面上,正常用户看到的依然是正常的数据。

接下来请参照图4,是本发明实施例提供的数据处理装置400,装置400可以应用于服务器102,如图4所示,装置400包括获取模块401和处理模块402。

获取模块401用于获取预先存储的自定义字符;处理模块402用于使用所述自定义字符替换目标页面的源代码中的目标数据,并存储所述自定义字符与其替换的目标数据的对应关系,其中,在显示所述目标页面时,根据所述对应关系将所述目标数据显示在所述目标页面上。

可选的,获取模块401还用于从预先存储的自定义字符库中任意选择至少两种自定义字符;处理模块402还用于使用所述至少两种自定义字符替换目标页面的源代码中的目标数据,并存储每种自定义字符与其替换的目标数据的对应关系。

可选的,获取模块401还用于周期性获取预先存储的自定义字符,其中,至少有两次获取的自定义字符互不相同。

可选的,获取模块401还用于获取多种初始字符;处理模块402还用于按照预设规则对所述多种初始字符进行转换,得到与所述多种初始字符分别对应的自定义字符,并将所述自定义字符进行对应存储。

接下来请参照图5,是本发明实施例提供的数据处理装置500,装置500可以应用于客户端101,如图5所示,装置500包括接收模块501、获取模块502以及显示模块503。

接收模块501:用于接收用户的目标页面访问请求;获取模块502:用于获取与所述目标页面对应的源代码,以及所述源代码中的自定义字符与其替换的目标数据的对应关系;显示模块503:用于在显示所述目标页面时,根据所述对应关系将所述目标数据显示在所述目标页面上。

可选的,获取模块502还用于获取所述源代码中的至少两种自定义字符与其替换的目标数据的对应关系,所述对应关系包括所述源代码中每种自定义字符与其替换的目标数据的对应关系。

可选的,显示模块503还用于根据所述对应关系确定所述至少两种自定义字符分别替换的目标数据;将所述分别替换的目标数据显示在所述目标页面上。

前述实施例中的图2所示的数据处理方法中的各实施方式和具体实例同样适用于图4中的数据处理装置,图3所示的数据处理方法中的各实施方式和具体实例同样适用于图5中的数据处理装置,通过前述对图2和图3分别所示的数据处理方法的详细描述,本领域技术人员可以清楚的知道图4和图5分别所示的数据处理装置的实施方法,所以为了说明书的简洁,在此不再详述。

本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时实现本发明实施例的语音定位的方法。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1