一种在浏览器中加载网页的方法和装置与流程

文档序号:11657452阅读:197来源:国知局
一种在浏览器中加载网页的方法和装置与流程
本发明涉及计算机
技术领域
,尤其涉及一种在浏览器中加载网页的方法和装置。
背景技术
:互联网发展日益壮大,已经逐步渗透入人们的日常生活和工作中,人们已经习惯于通过计算机、手机、平板电脑、pda(personaldigitalassistant,个人数字助理)等电子终端设备来浏览网页,获取所需信息。当用户通过电子终端设备中的浏览器浏览网页时,web服务器(网站服务器、或网络服务器)会获取一些与用户端浏览器相关的参数,这些参数组合在一起,其唯一性概率很高,类似指纹;因此,通常我们把这些参数的组合叫做浏览器指纹。进而,web服务器所获取的用户端浏览器指纹的信息,可能被用于对用户端进行身份识别、跟踪等,导致对用户隐私的侵犯。现有浏览器对于用户隐私的防护,主要通过清除一些浏览器的使用记录,例如清除账户口令记录的方式,在一定程度上实现对用户隐私的保护,但这无法解决web服务器因获取浏览器指纹的信息所带来的用户隐私被侵犯的隐患。技术实现要素:本发明实施例提供一种在浏览器中加载网页的方法和装置,用以解决web服务器因获取浏览器指纹的信息所带来的用户隐私被侵犯的隐患。为了解决这一问题,第一方面,本发明实施例提供了一种在浏览器中加载网页的方法,包括:在收到用户加载网页的请求消息后,随机生成第一http头消息;向web服务器发送http请求消息,所述http请求消息包含第一 http头消息;接收web服务器发送的http响应消息,所述http响应消息中包含网页数据;加载网页数据。第二方面,本发明实施例提供了一种在浏览器中加载网页的装置,包括:生成模块,用于在收到用户加载网页的请求消息后,随机生成第一http头消息;发送模块,用于向web服务器发送http请求消息,所述http请求消息包含所述第一http头消息;接收模块,用于接收所述web服务器发送的http响应消息,所述http响应消息中包含网页数据;加载模块,用于加载所述网页数据。本发明实施例提供的在浏览器中加载网页的方法和装置,由于发送给服务器的http请求消息中的头消息是随机生成的,头消息中所包括的header参数信息并不是用户端浏览器真实的参数信息,因此,即使web服务器获取了这些header参数信息,也无法根据这些随机生成的header参数信息准确地确定真实的用户端,从而增加了网站通过浏览器指纹识别用户端身份的难度,进而可以保护用户隐私,也即能够解决web服务器因获取浏览器指纹的信息所带来的用户隐私被侵犯的隐患。第三方面,本发明实施例提供了一种在浏览器中加载网页的方法,包括:在收到用户加载网页的请求消息后,向web服务器发送http请求消息;接收所述web服务器发送的http响应消息,所述http响应消息中包含网页数据;加载所述网页数据,包括:执行所述网页数据中的脚本,所述脚本包含用于向web服务器返回至少一种浏览器参数的代码;当执行所述脚本中向web服务器返回一种浏览器参数的代码时,调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息,并将随 机生成的该种浏览器参数的信息发送至web服务器。第四方面,本发明实施例提供了一种在浏览器中加载网页的装置,包括:发送模块,用于在收到用户加载网页的请求消息后,向web服务器发送http请求消息;接收模块,用于接收所述web服务器发送的http响应消息,所述http响应消息中包含网页数据;加载模块,用于加载所述网页数据,包括:执行所述网页数据中的脚本,所述脚本包含用于向web服务器返回至少一种浏览器参数的代码;调用模块,用于当加载模块执行所述脚本中向web服务器返回一种浏览器参数的代码时,调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息;所述发送模块还用于将随机生成的该种浏览器参数的信息发送至web服务器。本发明实施例提供的在浏览器中加载网页的方法和装置,由于发送给web服务器的浏览器参数的信息不是其真实的参数信息,而是随机变化的,因此,若该浏览器参数属于浏览器指纹,则服务器获取到的是一个随机变化的、不真实的“浏览器指纹”,进而不良网站无法根据这些不真实的浏览器指纹确定用户端,从而增加了网站通过浏览器指纹识别用户端身份的难度,进而可以保护用户隐私,也即能够解决web服务器因获取浏览器指纹的信息所带来的用户隐私被侵犯的隐患。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的通过使用浏览器访问网页的过程示意图;图2为本发明实施例提供的一种在浏览器中加载网页的方法流程图之 一;图3为本发明实施例提供的一种在浏览器中加载网页的方法流程图之二;图4为本发明实施例提供的一种在浏览器中加载网页的方法流程图之三;图5为本发明实施例提供的一种在浏览器中加载网页的装置框图;图6为本发明实施例提供的另一种在浏览器中加载网页的装置框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。参考图1,用户使用浏览器访问网页的过程是:用户对浏览器发出加载网页的请求,此后,浏览器向web服务器发送http(超文本传输协议,hypertexttransferprotocol)请求消息,web服务器在找到相应的网页数据后,向浏览器返回携带这些网页数据的http响应消息,以便浏览器加载网页。当然,本领域人员应该理解,该浏览器可安装在电子终端设备中,这些电子终端设备可以是计算机、手机、平板电脑、pda(personaldigitalassistant,个人数字助理)等终端设备。在上述用户使用浏览器访问网页的过程中,web服务器会获取到用户端浏览器对应的浏览器指纹,进而导致用户隐私可能被侵犯的风险。该浏览器指纹由一些参数组合而成,这些参数大致可分为两类:第一类参数是header参数,故名思议为包含在http头消息(http请求消息包括 http头消息和消息体)中的参数,如user-agent(ua,用户代理)、httpaccept(可接受的数据形式)、cookies等;第二类参数是在浏览器加载网页数据时发送给web服务器的,该网页数据是web服务器按照http请求消息返回给用户端浏览器的,有时web服务器返回的网页数据中往往会包含一些不良的脚本,当浏览器执行这些不良脚本时,就会将不良脚本所要获取的一些浏览器参数发送给web服务器。web服务器根据所接收到的上述参数(浏览器指纹),有很高的概率能够确定到具体的用户端浏览器,有时这个概率可以高达99%以上。因此,浏览器指纹可能被用于对用户端进行身份识别、跟踪等目的,而导致对用户隐私的侵犯。现有技术中已公开的浏览器指纹可以包括以下参数,如表1所示:表1参数名熵plugins(插件)15.4fonts(字体)13.9user-agent(用户代理)10.0httpaccept(可接受的数据形式)6.09screenresolution(屏幕分辨率)4.83timezone(时区)3.04supercookies(超级cookies)2.12cookiesenabled(开启cookies功能)0.353其中,plugins表示浏览器安装的插件参数,属于上述的第二类参数。fonts表示浏览器所在操作系统安装的字体参数,属于上述的第二类参数。user-agent表示浏览器的基本信息,是浏览器header参数中的一种,与浏览器的种类和操作系统的种类有关,属于上述的第一类参数。httpaccept表示浏览器可以接受的数据形式,是浏览器header参数中的一种,属于上述的第一类参数。screenresolution表示浏览器所在终端设备的显示器分辨率参数,属 于上述的第二类参数。timezone表示浏览器所在的时区,属于上述的第二类参数。但时区数据不应被更改和阻止获取,而且其熵值较小,因此本发明可以不考虑该参数。supercookies、cookiesenabled都是cookies参数,是浏览器header参数中的一部分,属于上述的第一类参数,但是这些参数是现有多数浏览器可以选择关闭的,即浏览器可以提供关闭其中的cookies功能,那么http请求中的http头消息中就不会包含cookies参数。表1中的熵值表示其对应的参数对生成唯一性浏览器指纹的贡献大小,熵值越大的参数,其对生成唯一性浏览器指纹的贡献越大。上述表1中列出的参数,上述第一类参数包括于http头消息中,浏览器向web服务器发送http请求信息时,web服务器就会获得这部分参数信息;上述第二类参数是在浏览器执行网页数据中的脚本时发送给web服务器的。web服务器获得这些参数后,这些参数组合生成浏览器指纹。需要说明的是,并不是说web服务器获得上述所有参数的组合才能生成浏览器指纹,可以是只获得其中一部分参数生成浏览器指纹,只不过这种情况下生成的浏览器指纹的唯一性概率较低。web服务器获得的上述参数的熵值的总和越大,所生成的浏览器指纹的唯一性概率越高。当然,对生成唯一性浏览器指纹有贡献的参数并不仅限于上述的这些参数,还有一些参数也对生成唯一性浏览器指纹有贡献,如针对浏览器所在操作系统时钟偏差、tcp协议栈特性、javascript引擎特性等参数。由于这些参数牵扯操作系统的某些功能,本发明实施例可以不考虑。本发明实施例提供的方案,可以使用户端浏览器发送给服务器的上述参数不是其真实的参数信息,且所发送的这些参数信息是随机变化的,因此,服务器获取到的是一个随机变化的、不真实的“浏览器指纹”,能够解决web服务器因获取浏览器指纹的信息所带来的用户隐私被侵犯的隐患。为了更加清楚的介绍上述过程,本发明提供了多个实施例。实施例一本发明实施例提供了一种在浏览器中加载网页的方法,该方法的执行 主语可以是浏览器,也可以是安装该浏览器的电子终端设备,也可以是上述电子终端设备中的硬件模块,例如cpu(处理器),在此不加限定。如图2所示,该方法包括以下步骤:步骤s101、在收到用户加载网页的请求消息后,随机生成第一http头消息。其中,用户加载网页的请求,可以是用户在浏览器的地址栏中输入所要访问的网页的网址,并按回车键,也可以是用户在浏览器页面中点击某一超链接,在此不做限定。http,即超文本传输协议,是互联网上应用最为广泛的一种网络协议,用户端和服务器之间的请求和响应都遵守该网络协议。http头消息,是指该头消息也是遵守http协议的。通常,http头消息中所包含的参数称为header参数,这里header参数是一类参数的总称,这类参数通常包括user-agent(ua)、httpaccept、cookies等参数,进一步的还可以包括accept-language、accept-encoding以及connection等参数。示例的,http头消息的形式如下:host:hosturi\r\nuser-agent:string\r\naccept:string\r\naccept-language:string\r\naccept-encoding:gzip,deflate\r\nconnection:keep-alive\r\n……现有技术中,http头消息中所包含的各参数的参数值均是用户端浏览器的真实参数值。本发明实施例提供的方案中是随机生成第一http头消息,意味着该第一http头消息中所包含的参数值是随机赋予的,并不一定是用户端浏览器对应的真实的参数值。示例的,可以按照http协议的规定,随机生成该第一http头消息。又示例的,可以预先设置一header参数数据库,这个header参数数据库可存储一张或若干张header参数表单,该表单所包括的字段可以是部分header参数,也可以是全部header 参数,在此,不对表单所包含的字段数目进行限定,只要求表单中的字段属于header参数即可。该表单可以包括若干条记录,每一条记录对应一组header参数的参数值,表单记录可以尽可能多,可以包括现有已知的各种浏览器和操作系统对应的header参数值。浏览器随机生成第一http头消息时,通过调用浏览器参数数据库中的任意一张header参数表单,随机选取表单中的一条记录来生成第一http头消息。其中,第一http头消息中所包括的header参数信息,可以是全部从表单记录中随机获得,也可以是部分从表单记录中随机获得,部分通过现有技术中的获取方式获得。本实施例中优选的第一http头消息中可属于浏览器指纹的至少一个header参数是随机得到的。步骤s102、向web服务器发送http请求消息,http请求消息包含第一http头消息。在步骤s101之后,浏览器会将http请求消息发送给相应的web服务器。http请求消息通常包括:请求行(requestline)、头消息(messageheaders)和消息体(entitybody)。其中,请求行的信息代表请求方法、协议和协议的版本;头消息的作用是通知服务器有关于用户端的功能和标识消息体;消息体用于携带与请求相关联的数据。本实施例中,向web服务器发送的http请求消息中的头消息是步骤s101中随机生成的第一http头消息。步骤s103、接收web服务器发送的http响应消息,http响应消息中包含网页数据。web服务器在接收http请求消息后,会返回给浏览器一个http响应消息,该http响应消息与http请求消息相似,通常包括3个部分,分别是:状态行、响应头(responseheader)、响应正文。其中,状态行包括协议版本、数字形式的状态代码、及相应的状态描述等信息;响应头包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等;响应正文就是服务器返回的html页面,即网页数据。步骤s104、加载网页数据。浏览器通过对web服务器返回的响应消息中的网页数据进行一系列处理工作,将网页输出到电子终端设备的显示器显示给用户。该一系列处 理工作包括:分析网页内容、执行网页数据中的脚本(代码段)、计算排版等。本发明实施例提供的在浏览器中加载网页的方法,由于发送给服务器的http请求消息中的头消息是随机生成的,头消息中所包括的header参数信息并不是用户端浏览器真实的参数信息,因此,即使网站端的服务器获取了这些header参数信息,也无法根据这些随机生成的header参数信息确定真实的用户端,从而增加了网站通过浏览器指纹识别用户端身份的难度,进而可以保护用户隐私。优选的,步骤s101可以包括:从预设公共参数数据库中,随机选取http头消息的公共参数;公共参数数据库中预先保存有多种浏览器的http头消息的公共参数;根据随机选取的公共参数,以及需添加的http头消息的私有参数,生成第一http头消息。其中,公共参数数据库是预先设置好的,公共参数数据库可以是浏览器的一部分,存储于用户端的电子终端设备中,具体可以是存储于电子终端设备的硬盘、内存中,也可以是存储于电子终端设备的flash存储器中。http头消息的公共参数是指,header参数中的一类参数,这类参数是http头消息中的必选参数,也就是说,即使在用户端不同、用户端所使用的浏览器不同、及所浏览的网页不同等情况下,浏览器每次发送的http头消息中都会包括这类header参数。一般来说,这类header参数包括user-agent和httpaccept,进一步的,还可以包括accept-language、accept-encoding以及connection等。这些公共参数的值一般与浏览器的类型和版本号、以及操作系统类型和版本号有关,在浏览器和操作系统不同的情况下,http请求中所包含的这些公共参数的参数值是不同的。但是,在浏览器和操作系统相同的情况下,不同的http请求中所包含的这些公共参数的参数值是相同的。http头消息的私有参数是,http头消息中所包括的另一类header参数,这类参数是http头消息中的可选参数(即除了必选参数之外的参数)。这一类header参数并不一定在浏览器每次发送的http头消息中都会包含,即每次发送的http请求消息的头消息中有时会包括这类参数,有时不包括,如cookies参数。对于私有参数,即使是在浏览 器和操作系统相同的情况下,不同的http请求中所包含的这些私有参数的参数值一般也是不同的。在本实施例中具体的,可以从预设公共参数数据库中,随机选取一种浏览器的公共参数作为第一http头消息的公共参数。当然,还可以从预设公共参数数据库中,从n(n大于等于2)种浏览器的公共参数中各选取一部分,以组合得到第一http头消息的公共参数。示例的,多种浏览器的http头消息的公共参数可以以表单的形式预先保存于公共参数数据库中,各公共参数作为表单的字段,表单中包括多条记录,每条记录对应一组公共参数的参数值,每条记录都不重复,其由浏览器和操作系统共同决定。当然也可不以表单形式存储,在此不加限定。生成第一http头消息时,示例的,可以是从该数据库所存的表单中随机选取一条记录,将该记录中的各参数字段的参数值作为第一http头消息的公共参数的参数值。之后,根据随机选取的公共参数值,以及需添加的http头消息的私有参数,生成第一http头消息。其中,需添加的http头消息的私有参数,是指在现有技术中此次请求网页数据过程中发送http请求时所包括的私有参数,如cookies参数,第一http头消息中的私有参数的参数值可以按照现有技术的方法得到。由于http头消息所包括的header参数中,对于公共参数,其包括于每次的http请求中,且在浏览器和操作系统一定的情况下,每次http请求中该类参数的参数值都是相同的,因此,网站端服务器在获取到该类参数的参数值后,就会将用户的身份确定在使用对应的操作系统和浏览器的一类用户中,从而可以确定一个较小的用户范围,因此,该类参数对于确定浏览器指纹有较大的贡献。对于私有参数,在每次的http请求中,其有可能存在,也有可能不存在,而且,即使存在,其参数值也具有很大的随机性,对于使用固定浏览器和操作系统的某一用户端来说,其不同的http请求中的该类参数的参数值基本不同,对于不同用户来说,各自的每次的http请求中的该类参数的参数值也基本不同,因此,该类参数的参数值本身就具有很大的随机性,对于确定浏览器指纹的贡献较小。因此,针对上述情况,本申请中通过预设公共参数数据库,将现有已 知的多种浏览器的http头消息的公共参数存储于公共参数数据库中,用于形成第一http头消息中的公共参数。对于私有参数,由于其对于确定浏览器指纹的贡献较小,且其参数值具有很大的随机性,因此,本申请实施例没有像公共参数那样去预设私有参数数据库,而是按照现有技术中的方式去获取第一http头消息中的该类参数。这样做,既增加了网站端服务器对用户身份识别的难度,也减少了预设数据库的工作量,同时,还减少了存储数据库对终端电子设备的硬盘、内存,或flash存储器等的占用。实施例二本发明实施例提供了另一种在浏览器中加载网页的方法,如图3所示,本发明提供的实施例二是在实施例一的基础上,且当实施例一中步骤s104中所述的加载网页数据包括执行网页数据中的脚本,且该脚本包括用于向web服务器返回至少一种浏览器参数的代码时,本发明实施例二所述的方法还包括步骤s105:当执行所述脚本中向web服务器返回一种浏览器参数的代码时,调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息,并将随机生成的该种浏览器参数的信息发送至web服务器。其中,网页数据中的脚本是web服务器根据http请求信息返回给浏览器的,当然,如果用户端访问的是一些不良的网站,那么网站端的web服务器返回的网页数据中除了包括http请求信息中所要求的数据外,还包括一些不良代码的脚本。当浏览器执行网页数据中的脚本时,就会执行到这些不良代码,这些不良代码通常会调用浏览器中的某些javascript接口,通过这些javascript接口会获取到相应的浏览器参数信息,然后,浏览器会按照不良代码将所获得到的浏览器参数信息发送至web服务器。需要说明的是,具体调用浏览器的哪种javascript接口,与所要获取的浏览器参数信息的类型有关。例如,不良代码用于向web服务返回浏览器所安装的插件信息,就会调用浏览器中的“获得安装在浏览器上的所有插件信息”的javascript接口,从而获得浏览器所安装的插件信息。又例如,该不良代码用于向web服务器返回两种浏览器参数信息,假设分别为a和b,那么该不良代码就会分别调用浏览器中的“获得a”、“获得b” 的javascript接口,通过这两个浏览器接口就会获取到相应的浏览器参数a信息、浏览器参数b信息,即执行两次步骤s105。本发明实施例提供的方法,可以通过修改上述的javascript接口,使得上述的javascript接口获得的浏览器参数信息并不是真实的浏览器参数信息,而是随机生成的浏览器参数信息,进而将随机生成的浏览器参数信息发送给web服务器。由于web服务器获得的是随机生成的、不真实的浏览器参数信息,因此,web服务器无法根据上述浏览器参数信息来对用户端进行身份识别、跟踪。需要说明的是,本实施例可以是当网页数据中的脚本用于向web服务器返回属于浏览器指纹的浏览器参数时,执行步骤s105。本发明实施例二提供的方法,使得web服务器获得的header参数信息以及属于第二类参数的浏览器参数信息都是随机生成的,并不是用户端浏览器的真实参数信息,因此这些参数组合形成的浏览器指纹也是随机的,不具有唯一性,而且,由于形成浏览器指纹的参数中,随机生成的的参数较多,所以该浏览器指纹的随机性也较高,因此,进一步增加了网站通过浏览器指纹识别用户端身份的难度,进而可以更好地保护用户隐私。其中,调用获取该种浏览器参数的接口,随机生成需获取的每种浏览器参数的信息,可以有多种方式,在此不做限定。若不良脚本中需要获取浏览器参数a的信息,那么可以修改“获取浏览器参数a”的接口,该“获取浏览器参数a”的接口可以从预先建立的一数据库中,随机选取一个或多个浏览器参数a的信息;其中,该数据库可以是仅针对浏览器参数a而设置的,其可以包含尽可能多的关于浏览器参数a的信息。示例的,可以采用实施例一中的表单来实现,不再详细描述。优选的,所述调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息包括:调用获取该种浏览器参数的接口,以便从浏览器参数数据库中,随机选取该种浏览器参数的一部分信息,其中,每一所述浏览器参数数据库中存储有一种浏览器参数的信息。可以是在用户端的电子终端设备中保存有若干个浏览器参数数据库,每一个浏览器参数数据库中存储有一种浏览器参数的信息。该浏览器参数数据库可以作为浏览器的一部分。具体的,可以修改浏览器中的各个javascript接口(每个接口用于返回浏览器参数,尤其是用于返回属于浏览器指纹的浏览器参数)的代码,经修改后的每个javascript接口可以用来随机获取一种浏览器参数的信息。由于这些javascript接口被修改,当浏览器执行网页数据脚本中所包括的不良代码时,若该不良代码要求返回多种浏览器参数信息,那么该不良代码就会分别调用每种浏览器参数所对应的浏览器javascript接口,这时,这些javascript接口就会分别从其对应的浏览器参数数据库中随机选择其中一部分浏览器参数信息,作为需获取的该种浏览器参数的信息。例如,不良代码要求获取两种浏览器参数信息,分别为浏览器a参数信息、浏览器b参数信息,那么当浏览器执行该不良代码时,就会调用“获取浏览器a参数信息”和“获取浏览器b参数信息”两个javascript接口,由于这两个接口已经按照某种方式进行了修改,当调用这两个接口时,其中的“获取浏览器a参数信息”接口就会从浏览器参数数据库a中得到浏览器a参数信息,然后从浏览器a参数信息中随机选取一部分,将选取的这部分浏览器a参数信息作为需获取的浏览器a参数信息;同时,“获取浏览器b参数信息”接口就会从浏览器参数数据库b中得到浏览器b参数信息,然后从浏览器b参数信息中随机选取一部分,将选取的这部分浏览器b参数信息作为需获取的浏览器b参数信息。其中,需获取的浏览器a参数信息和需获取的浏览器b参数信息即为随机生成的需获取的浏览器参数的信息。需要说明的是上述只是举例说明,具体获取的浏览器参数的种类数目在此不做限定。其中,按照某种方式修改浏览器的javascript接口,示例的,可以按照下面所述方式:假设修改的是“获取浏览器插件参数信息”接口对应的代码,在修改前,该接口对应的代码如下:其中,将infos均分为2部分,只是作为示例,可以根据实际需要进行设定的,示例的,可以不均分而只是返回小于插件总数的一部分,此处并不做限定。优选的,浏览器参数包括:浏览器安装的插件、浏览器所在操作系统安装的字体中的至少一种。需要说明的是上述的浏览器参数是指本申请实施例中会随机生成的浏览器参数。浏览器参数可以有多种,其中,浏览器安装的插件、浏览器所在操作系统安装的字体这两种浏览器参数只是所有浏览器参数中的一部分。由于各种浏览器参数中,这两种浏览器参数对于生成唯一性浏览器指纹的贡献较大,因此,本申请实施例中优选的随机生成这两种浏览器参数,当然也可以是只随机生成其中一种,进而可以实现进一步的增加网站通过浏览器指纹识别用户端身份的难度,更好地保护用户隐私。本申请实施例并不只限定于这两种浏览器参数,本领域技术人员可以根据实际需要,应用本申请实施例提供的方法随机生成其他的浏览器参数,如浏览器分辨率参数,这都属于本申请保护的范围。示例的,可以仅修改浏览器中获取某一种浏览器参数(属于浏览器指纹,例如浏览器安装的插件)的javascript接口,此时,在步骤s105中,若脚本中的不良代码要获取几种浏览器参数,其中包括“浏览器安装的插件”参数,则对于“浏览器安装的插件”参数,按照本实施例提供的方法 随机获取;而对于其他浏览器参数,都按照现有技术中的方法进行生成。又示例的,可以仅修改浏览器中获取多种浏览器参数(属于浏览器指纹,例如浏览器安装的插件和字体)的javascript接口,相应的,在步骤s105中,可以按照本实施例提供的方法随机获取插件和字体的信息,若此步骤中还需获取其他浏览器参数,则按照现有技术中的方法进行生成即可。实施例三本发明实施例提供了另一种在浏览器中加载网页的方法,该方法的执行主语可以是浏览器,也可以是安装该浏览器的电子终端设备,也可以是上述电子终端设备中的硬件模块,例如cpu(处理器),在此不加限定。如图4所示,该方法包括以下步骤:s201、在收到用户加载网页的请求消息后,向web服务器发送http请求消息。具体可以参考实施例一中的步骤s101、步骤s102,也可以参考现有技术。s202、接收web服务器发送的http响应消息,http响应消息中包含网页数据。具体可以参考实施例一中的步骤s103。s203、加载所述网页数据,包括:执行所述网页数据中的脚本,所述脚本包含用于向web服务器返回至少一种浏览器参数的代码。具体可以参考实施例一中的步骤s104。s204、当执行所述脚本中向web服务器返回一种浏览器参数的代码时,调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息,并将随机生成的该种浏览器参数的信息发送至web服务器。具体可以参考实施例一中的步骤s105。优选的,所述调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息包括:调用获取该种浏览器参数的接口,以便从浏览器参数数据库中,随机选取该种浏览器参数的一部分信息,其中,每一所述浏览器参数数据库中存储有一种浏览器参数的信息。本发明实施例三提供的方法与实施例一、实施例二提供的方法的区别 在于:实施例一提供的方法中是随机生成第一http头消息,即第一http头消息中的header参数(属于第一类参数的浏览器参数)是随机生成的。实施例二提供的方法中是既随机生成第一http头消息,同时,也随机生成属于第二类参数的浏览器参数。实施例三提供的方法是随机生成属于第二类参数的浏览器参数。本实施例三中,http请求消息可以是按照现有技术方案生成的,实施例三中只可以对浏览器参数的获取方式进行了修改,其具体实现方式与实施例二中所述的随机生成浏览器参数的方法相同,此处不再赘述,具体可以参考实施例二。上述的三个实施例分别提供了三种方法,三种方法均可以实现增加网站通过浏览器指纹识别用户端身份的难度,进而达到保护用户隐私的目的。其中,实施例二提供的方法可以较大强度的保护用户隐私,实施例一和实施例三次之。在实际应用中,用户可以根据实际需要,选择其中一种在浏览器中加载网页的方法应用到电子终端设备中,使得网站无法对用户端进行身份识别和跟踪。上述提供的任一种方法还可以和现有技术中浏览器已具有的“禁用浏览器cookies功能”和/或“禁用浏览器javascript功能”一起发挥作用,用户在实际使用中可以选择本申请所述的三种方法中的其中一种来加载网页,同时开启“禁用浏览器cookies功能”和/或“禁用浏览器javascript功能”,从而达到更大强度的防御效果。现有技术中为了达到防御效果,在浏览器中可以选择“禁用浏览器插件功能”、“禁用浏览器javascript功能”等,这样可以起到一定的保护用户隐私的作用。但是,禁用这些功能会导致无法正常加载网页数据,使网页数据中包含的一些内容无法显示。基于此,若选择本发明三个实施例提供的方法,不仅可以达到保护用户隐私的效果,还可以实现网页的正常显示。另外,在实际应用过程中,用户对隐私保护的强度需求不同,基于用户不同的需求,可以制定不同强度的防御策略。这时,可以在浏览器设置选项 内添加一个切换开关,该切换开关可以供用户选择不同防御强度,默认可以为中等强度。示例的,浏览器提供4中不同强度的防御策略,参考下表2。表2当然,这里仅是作为一个示例,使得用户可以通过切换开关选择一个防御强度,随后浏览器可以执行该防御强度对应的实现方式,以满足用户需求。实施例四本发明实施例还提供了一种在浏览器中加载网页的装置,用于执行实施例一中所述的方法,该装置可以是浏览器,也可以是安装该浏览器的电子终端设备,也可以是上述电子终端设备中的硬件模块,例如cpu(处理器),如图5所示,该装置包括:生成模块11,用于在收到用户加载网页的请求消息后,随机生成第一http头消息;发送模块12,用于向web服务器发送http请求消息,所述http请求消息包含所述第一http头消息;接收模块13,用于接收所述web服务器发送的http响应消息,所述http响应消息中包含网页数据;加载模块14,用于加载所述网页数据。可选的,所述生成模块11具体用于:从预设公共参数数据库中,随机选取http头消息的公共参数;所述公共参数数据库中预先保存有多种浏览器的http头消息的公共参数;根据随机选取的公共参数,以及需添加的http头消息的私有参数,生成第一http头消息。可选的,所述加载模块14用于执行所述网页数据中的脚本,所述脚本包括:用于向web服务器返回至少一种浏览器参数的代码;所述装置还包括:调用模块15,用于当所述加载模块14执行所述脚本中向web服务器返回一种浏览器参数的代码时,调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息;所述发送模块12还用于将随机生成的该种浏览器参数的信息发送至web服务器。可选的,所述调用模块15具体用于:调用获取该种浏览器参数的接口,以便从浏览器参数数据库中,随机选取该种浏览器参数的一部分信息,其中,每一所述浏览器参数数据库中存储有一种浏览器参数的信息。优选的,所述浏览器参数包括:浏览器安装的插件、浏览器所在操作系统安装的字体中的至少一种。本发明实施例四提供的在浏览器中加载网页的装置,由于发送给服务器的http请求消息中的头消息是由生成模块11随机生成的,头消息中所包括的header参数信息并不是用户端浏览器真实的参数信息,因此,即使网站端的服务器获取了这些header参数信息,也无法根据这些随机生成的header参数信息确定用户端,从而增加了网站通过浏览器指纹识别用户端身份的难度,进而可以保护用户隐私。实施例五本发明实施例还提供了一种在浏览器中加载网页的装置,如图6所示,该装置包括:发送模块21,用于在收到用户加载网页的请求消息后,向web服务器发送http请求消息;接收模块22,用于接收所述web服务器发送的http响应消息,所述http响应消息中包含网页数据;加载模块23,用于加载所述网页数据,包括:执行所述网页数据中的脚本,所述脚本包含用于向web服务器返回至少一种浏览器参数的代码;调用模块24,用于当加载模块23执行所述脚本中向web服务器返回一种浏览器参数的代码时,调用获取该种浏览器参数的接口,以随机生成该种浏览器参数的信息;所述发送模块21还用于将随机生成的该种浏览器参数的信息发送至web服务器。可选的,所述调用模块24具体用于:调用获取该种浏览器参数的接口,以便从浏览器参数数据库中,随机选取该种浏览器参数的一部分信息,其中,每一所述浏览器参数数据库中存储有一种浏览器参数的信息。本发明实施例五提供的在浏览器中加载网页的装置,由于发送给服务器的浏览器参数信息是由调用模块24随机生成的,因此,即使网站端的服务器获取了这些浏览器参数信息,也无法根据这些随机生成的参数信息确定用户端,从而增加了网站通过浏览器指纹识别用户端身份的难度,进而可以保护用户隐私。需要说明的是,本发明实施例中的生成模块、发送模块、接收模块、加载模块和调用模块,可以为单独设立的处理器,也可以集成在智能终端的某一个处理器中实现,此外,也可以以程序代码的形式存储于智能终端的存储器中,由智能终端的某一个处理器调用并执行以上各模块的功能。这里所述的处理器可以是一个中央处理器(英文全称:centralprocessingunit,英文简称:cpu),或者是特定集成电路(英文全称:applicationspecificintegratedcircuit,英文简称:asic),或者是被配置成实施本发明实施例的一个或多个集成电路。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备(装置)实施例仅仅是示意性的,例如,所述单元(模块)的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元(模块)或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元(模块)的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元(模块)可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单独物理单元存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元(模块)的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文简称:rom,英文全称:read-onlymemory)、随机存取存储器(英文简称:ram,英文全称:randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1