对网页访问行为进行处理的方法及系统、客户端、服务器与流程

文档序号:11995507阅读:230来源:国知局
对网页访问行为进行处理的方法及系统、客户端、服务器与流程
本发明涉及计算机网络技术领域,具体涉及一种对网页访问行为进行处理的方法及系统、客户端、服务器。

背景技术:
恶意网站,例如钓鱼网站、或者是欺诈,仿冒网站等,主要是通过仿冒真实网站的URL地址或是页面内容,伪装成银行及电子商务等类型的网站,或是利用真实网站服务器程序上的漏洞,在该网站的某些网页中插入危险的网页代码,以此来骗取用户银行或信用卡账号、密码等私人资料。恶意网页中包含着许多敏感的特征,例如,金融欺诈类的恶意网页会在文字、图片等方面仿冒官网,或是在真实网页中插入虚假票务、虚假中奖、假冒网银、虚假购物等信息,这些特征大多以文本串的形式出现在网页中。目前对恶意网页识别的方法,主要是通过人工审核恶意网页,以收集一些简单的恶意网站的文本特征,供浏览器插件依据这些文本特征对网页内容进行判断,过滤掉这些已报告的攻击网站。但是,现今恶意网站的存活期越来越短,新的恶意网页层出不穷,需要审核的网页量太大;并且恶意网站的特征变化加快,按照传统的人工审核的方式,提取信息的效率会比较低。现有的为了防范恶意网站的主要手段是当用户访问某网站时,客户端将网站的URL发送至服务器端的黑白名单数据库进行查询,所谓的黑名单数据库即是已审核确认的恶意网站的URL名单数据库,所谓的白名单数据库即是已审核确认的安全网站的URL。服务器端经过查询后,将网站是否属于恶意网站的结果反馈给客户端。上述现有的技术手段仅能针对单一的URL进行检测。但是由于目前恶意网站的URL不断变化,服务器端的黑白名单数据库的更新速度远不及恶意网站的变化速度快,因此针对单一的URL进行检测的技术手段不能有效的检测出恶意网站,因而不能实时快速有效地保护客户端的网页浏览安全。

技术实现要素:
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对网页访问行为进行处理的系统、客户端、服务器和相应的对网页访问行为进行处理的方法。根据本发明的一个方面,提供了一种对网页访问行为进行处理的方法,用于检测通过初始页面的第i级链接所打开的第i级页面,i≥2;该方法包括:在监控到第i级页面的访问请求后,获取包含第i级页面的页面ID的refer链,所述refer链包含初始页面至第i级页面的页面ID和URL;将所述refer链所包含的所有URL发送给服务器,以供所述服务器查询所述refer链所包含的所有URL是否属于服务器保存的黑名单和/或白名单数据库,然后将查询结果与预设的规则进行匹配得到匹配结果;接收服务器返回的匹配结果,根据所述匹配结果对所述第i级页面的访问行为进行处理。根据本发明的另一方面,提供了一种客户端,用于检测通过初始页面的第i级链接所打开的第i级页面,i≥2;该客户端包括:监控模块,适于在监控到第i级页面的访问请求后,获取包含第i级页面的页面ID的refer链,所述refer链包含初始页面至第i级页面的页面ID和URL;查询接口,适于将所述refer链所包含的所有URL发送给服务器,以供所述服务器查询所述refer链所包含的所有URL是否属于服务器保存的黑名单和/或白名单数据库,然后将查询结果与预设的规则进行匹配得到匹配结果;以及,接收所述服务器返回的匹配结果;保护模块,适于根据所述匹配结果对所述第i级页面的访问行为进行处理。根据本发明的另一方面,提供了一种服务器,用于检测通过初始页面的第i级链接所打开的第i级页面,i≥2;该服务器包括:黑名单和/或白名单数据库,适于保存属于黑名单和/或白名单的URL;查询接口,适于接收客户端发送的refer链所包含的所有URL,查询所述refer链所包含的所有URL是否属于所述黑名单和/或白名单数据库,然后将查询结果与预设的规则进行匹配得到匹配结果,将所述匹配结果返回给所述客户端。根据本发明的另一方面,提供了一种对网页访问行为进行处理的系统,包括:上述客户端和服务器。根据本发明提供的对网页访问行为进行处理的方法及系统、客户端、服务器,每当客户端监控到通过初始页面的各级链接对新页面的访问请求后,获取该新页面对应的refer链,将refer链包含的所有URL上报给服务器,由服务器根据这些URL检测出匹配结果,由客户端根据该匹配结果对新页面的访问行为进行处理。与现有技术仅利用新页面的URL进行检测相比,由于refer链所提供的URL更多,覆盖面更广,因而检测效率更高,能够更为有效地保护客户端网页浏览的安全性。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本发明一个实施例的对网页访问行为进行处理的方法的流程图;图2示出了根据本发明一个实施例的创建refer链的方法的流程图;图3示出了根据本发明一个实施例的客户端的结构框图;图4示出了根据本发明一个实施例的服务器的结构框图;图5示出了根据本发明一个实施例的对网页访问行为进行处理的系统的结构框图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。针对现有技术存在的利用单一的URL进行检测的技术手段不能有效的检测出恶意网站,因而不能实时快速有效地保护客户端的网页浏览安全的技术问题,本发明提供了一种利用refer链对网页访问行为进行处理的方案。对于当前用户正在访问的页面,其refer信息为该当前页面的父页面的URL,即链接到该当前页面的前一级页面的URL。本发明根据链接到当前页面的若干级页面的URL得到refer链,利用refer链来对网页访问行为进行处理。图1示出了根据本发明一个实施例的对网页访问行为进行处理的方法100的流程图。在本实施例中,将当前页面称为第i级页面,i≥2,该第i级页面是由初始页面的第i级链接所打开的页面。通常,在用户打开浏览器后,浏览器访问默认的初始页面或者通过用户在地址栏的输入触发初始页面的访问请求,通过用户在初始页面上点击链接或者其它链接方式由初始页面链接到第2级页面,通过用户在第2级页面上点击链接或者其它链接方式由第2级页面链接到第3级页面,依此类推,最后由第i-1级页面链接到第i级页面。举例来说,用户打开浏览器后在地址栏输入www.so.com,该页面就是初始页面(下面用A来表示其URL);然后,用户在搜索栏输入“话费充值”,点击搜索按钮,浏览器会跳到http://www.so.com/s?ie=utf-8&src=360sou_home&q=%E8%AF%9D%E8%B4%B9%E5%85%85%E5%80%BC,该页面为第2级页面(下面用B来表示其URL);第2级页面提供了很多链接,用户点击其中一个链接,浏览器会跳到此链接对应的页面http://chongzhi.360.cn/mobile/,该页面为第3级页面(下面用C来表示其URL);用户在第3级页面上点击“网游点卡”链接,浏览器会跳到http://chongzhi.360.cn/GameCard/index,该页面为第4级页面(下面用D来表示其URL)。如图1所示,本方法100始于步骤S101,其中客户端的浏览器监控第i级页面的访问请求。该第i级页面的访问请求是用户在第i-1级页面点击链接或其它链接方式触发的。在上述示例中,用户在第3级页面上点击“网游点卡”链接,浏览器就会监控到第4级页面:http://chongzhi.360.cn/GameCard/index的访问请求。在监控到第i级页面的访问请求后,浏览器将加载第i级页面,在加载第i级页面的过程中,获取包含第i级页面的页面ID的refer链,即步骤S102。refer链包含初始页面至第i级页面的页面ID和URL,其中各级页面的页面ID是浏览器在加载页面的过程中为页面所生成的唯一的ID,在refer链中它作为页面的URL的索引值。浏览器通过第i级页面的页面ID查询包含第i级页面的URL且第i级页面是最后一级页面的refer链。例如,refer链为A(ID1)->B(ID2)->C(ID3)->D(ID4),其中A、B、C和D分别为各级页面的URL,ID1、ID2、ID3和ID4分别为各级页面的页面ID。在浏览器加载页面D时,根据页面D的页面ID4查询到上述refer链。在上述示例中,在加载第4级页面的过程中,将获取如下refer链:A(ID1)->B(ID2)->C(ID3)->D(ID4)在步骤S102之后,方法100进入步骤S103,其中客户端将refer链所包含的所有URL发送给服务器。客户端可以仅将refer链所包含的各级页面的URL上报给服务器,无需上报各级页面的页面ID。对于refer链:A(ID1)->B(ID2)->C(ID3)->D(ID4),客户端将A->B->C->D发送给服务器。可选地,根据与服务器之间的云查询协议,本方法可以将refer链所包含的所有URL加密成密文发送给服务器。这里,本发明可以采用可逆加密方法对所有URL进行加密,也可以采用不可逆加密方法对所有URL进行加密。举例来说,计算refer链所包含的各个URL的特征值作为密文。可选地,特征值可以为根据MD5(MessageDigestAlgorithm,消息摘要算法第五版)计算得到的哈希值,或SHA1(SecureHashAlgorithm,安全哈希算法)码,或CRC(CyclicRedundancyCheck,循环冗余校验)码等可唯一标识原信息的特征码。需要说明的是,在上传URL的密文到云安全服务器的时候,需要首先屏蔽可能带有用户密码的网址字符串,不上传此类URL,以便保证用户信息的安全在步骤S103之后,方法100进入步骤S104,其中服务器查询refer链所包含的所有URL是否属于服务器保存的黑名单和/或白名单数据库,得到查询结果。如果在客户端侧,refer链所包含的所有URL经过可逆加密方法进行了加密,那么服务器首先对接收到的密文进行解密,得到refer链所包含的所有URL;对应地,服务器保存的黑名单和/或白名单数据库中存储的是URL,在服务器获得refer链所包含的所有URL之后,查询黑名单和/或白名单数据库,得到这些URL是否属于黑名单或者是否属于白名单的查询结果。如果在客户端侧,refer链所包含的URL经过不可逆加密方法进行了加密,对应地,服务器保存的黑名单和/或白名单数据库中存储的也是相应的URL的特征值,在服务器获得refer链所包含的所有URL的特征值之后,查询黑名单和/或白名单数据库,得到这些URL是否属于黑名单或者是否属于白名单的查询结果。在步骤S104之后,方法100进入步骤S105,其中服务器将查询结果与预设的规则进行匹配得到匹配结果。其中预设的规则是根据实际需求而设定的,其具体规定了需要进行风险提示的情况。下面以两种预设规则为例进行说明:规则一:经过搜索引擎跳转到恶意页面或危险页面或未知页面如果查询结果表明第i级页面的URL属于黑名单数据库,即第i级页面为恶意页面或危险页面;或者,第i级页面的URL不属于白名单数据库,即第i级页面为未知页面;并且判断出初始页面至第i-1级页面中任一页面为搜索页面,即第i级页面是经过搜索引擎跳转而来的,表明查询结果与该规则一匹配,得到匹配结果为风险提示信息。可选地,服务器还保存有搜索页面URL列表。本步骤中,判断初始页面至第i-1级页面中任一页面的URL是否属于搜索页面URL列表,若是,则判断出初始页面至第i-1级页面中任一页面为搜索页面。需要说明的是,判断搜索页面也可以采用其它方法,不仅限于这种方法。规则二:经过恶意页面或危险页面或未知页面跳转到支付页面如果查询结果表明初始页面至第i-1级页面中的任一页面的URL属于黑名单数据库,即该页面为恶意页面或危险页面;或者,初始页面至第i-1级页面中的任一页面的URL不属于白名单数据库,即该页面为未知页面;并且判断出第i级页面为支付页面,表明查询结果与该规则二匹配,得到匹配结果为风险提示信息。可选地,服务器还保存有支付页面URL列表。本步骤中,判断第i级页面的URL是否属于支付页面URL列表,若是,则判断出第i级页面为支付页面。需要说明的是,判断支付页面也可以采用其它方法,不仅限于这种方法。上述规则一和规则二仅为两个具体的例子,本发明不仅限于这两种规则,根据实际需求,服务器可以预设多种规则用于匹配查询结果。在步骤S105之后,方法100进入步骤S106,其中客户端接收服务器返回的匹配结果。随后,方法100进入步骤S107,客户端的浏览器根据匹配结果对第i级页面的访问行为进行处理。如果接收到的匹配结果为风险提示信息,浏览器向用户提示风险。可选地,浏览器可以向用户提供拦截当前页面和继续访问当前页面的选项,如果用户选择拦截当前页面,则浏览器对当前页面的访问行为进行拦截。这里向用户提示风险可以具体为:在用户界面上标记有问题的页面;或者,在鼠标移到页面上时进行悬浮窗提示;如果确定对页面的访问行为进行拦截,则可直接屏蔽或遮盖有问题的页面。根据本发明实施例提供的对网页访问行为进行处理的方法,每当监控到通过初始页面的各级链接对新页面的访问请求后,获取该新页面对应的refer链,将refer链包含的所有URL上报给服务器,由服务器根据这些URL检测出匹配结果,由客户端根据该匹配结果对新页面的访问行为进行处理。与现有技术仅利用新页面的URL进行检测相比,由于refer链所提供的URL更多,覆盖面更广,因而检测效率更高,能够更为有效地保护客户端网页浏览的安全性。进一步的,在上述实施例的基础上,在步骤S102之前还包括创建refer链的过程。现有的浏览器提供了获取URL的refer信息的接口,即get_refer接口。但是,通过get_refer接口所获取的refer信息仅包含在访问当前页面之前上一次所访问的页面的URL,即链接到当前页面的前一级页面的URL;并且,从一个页面打开至get_refer接口可以使用需要较长的时间,如果等到get_refer接口可以使用后再去进行检测所需花费的时间过长。为了能够实时获取由各级页面的URL组成的refer链,本发明提供了创建refer链的方法,该方法具体为:每当通过初始页面的各级链接打开新页面时,负责维护refer链的进程获取新页面的页面ID和URL以及新页面的上一级页面的页面ID或URL,根据该上一级页面的页面ID或URL查询对应的refer链,创建refer链的对应节点。图2示出了根据本发明一个实施例的创建refer链的方法200的流程图。如图2所示,方法200始于第1级节点创建步骤S201。在第1级节点创建步骤S201中,在监控到初始页面的访问请求后,生成初始页面的页面ID,获取初始页面的URL,创建refer链的第1级节点,将初始页面的页面ID和URL作为第1级节点的信息写入refer链。针对浏览器访问的默认页面或通过用户在地址栏的输入触发访问的页面,将其作为初始页面,创建一个新的refer链。具体地,浏览器监控到初始页面的访问请求后,会加载该初始页面。在加载初始页面的过程中,浏览器生成一个唯一的ID作为该初始页面的页面ID,并且获取初始页面的URL。其中初始页面的URL可通过指定响应事件接口来获取,例如通过实现标准插件机制的指定响应事件接口来获取。在IE(InternetExplorer)浏览器中使用浏览器辅助对象(BrowserHelperObject,简称:BHO)插件机制,通过响应“BeforeNavigate2”事件可以获取IE当前加载的URL。在火狐(Firefox)浏览器中使用火狐扩展机制提供的指定响应事件接口,获取火狐浏览器当前加载的URL。在谷歌(chrome)浏览器中使用网景插件应用程序编程接口(NetscapePluginApplicationProgrammingInterface,简称:NPAPI)插件机制,获取谷歌浏览器当前加载的URL。在获取初始页面的页面ID(如ID1)和URL(如A)后,将ID1和A作为该refer链的第1级节点的信息,创建refer链为:A(ID1)。其中,ID1为索引信息。需要说明的是,由于实际应用中,人们使用计算机的应用环境,如操作系统、浏览器类型等的不尽相同,因此,前述各个步骤的执行主体也可以有多种实现方式。例如可以是一种带有识别及添加标记功能的浏览器,其中,浏览器可以是Windows操作系统自带的浏览器InternetExplorer(简称IE),以及其他第三方浏览器。所谓第三方浏览器,通常指在Windows操作系统上运行的非IE的浏览器软件,这类第三方浏览器通常会因其有着针对用户的丰富的独特功能设计和个性化扩展,为用户提供了许多方便的应用。例如,同样的插件机制可以运行于多种类型的浏览器,例如,浏览器为IE、firefox、googlechrome、safari、opera、QQ浏览器、遨游浏览器、搜狗浏览器或猎豹浏览器等等。在第1级节点创建步骤S201之后,方法200进入循环创建第i级节点的过程。从i=2开始,方法200进入步骤S202,其中在监控到第i级页面的访问请求后,生成第i级页面的页面ID,获取第i级页面的URL以及第i-1级页面的页面ID或URL,第i级页面是第i-1级页面的页面级跳转页面。本文将通过用户在第i-1级页面上点击链接或者其它用户行为触发的链接方式由第i-1级页面链接到第i级页面称为页面级跳转。在浏览器监控到经过页面级跳转的第i级页面的访问请求后,会加载第i级页面。在加载第i级页面的过程中,浏览器生成一个唯一的ID作为该第i级页面的页面ID,并且获取第i级页面的URL。其中第i级页面的URL可通过指定响应事件接口来获取,例如通过实现标准插件机制的指定响应事件接口来获取。具体方式可参见前面关于如何获取初始页面的URL的相关描述。为了查找到相应的refer链并在其上继续创建节点,在步骤S202中还需要获取第i-1级页面的页面ID或URL。本发明针对浏览器访问新页面的不同情况提供了两种不同的方式来获取第i-1级页面的信息,一种方式(即下述方式一)适用于通过新窗口或新标签(tab)页打开第i级页面的情况;另一种方式(即下述方式二)适用于仍通过当前窗口或当前标签页打开第i级页面的情况。方式一:首先,在监控到第i级页面的访问请求后,获取第i级页面的接口对象指针,根据接口对象指针向第i级页面的接口对象写入在加载第i-1级页面的过程中所获取的第i-1级页面的页面ID。然后,在加载第i级页面的过程中,通过读取第i级页面的接口对象所提供的信息,获取第i-1级页面的页面ID。上述方式一适用于通过新窗口或新标签(tab)页打开第i级页面的情况。以IE浏览器为例,通过分析IE浏览器打开新窗口或新tab页的实现原理,找到了IE浏览器内部模块创建新窗口或新tab页所调用的相关处理函数,捕获(Hook)该函数,利用该函数的返回值获取新窗口或新tab页(将要加载第i级页面的窗口或tab页)的接口对象指针,如IWEBBROWSER2指针;由于此时浏览器还未开始加载第i级页面,浏览器所记录的当前页面的页面ID还是在加载第i-1级页面的过程中所获取的第i-1级页面的页面ID,因此,此时浏览器可根据该接口对象指针向IWEBBROWSER2对象写入第i-1级页面的页面ID。在开始加载第i级页面之后,通过读取第i级页面的IWEBBROWSER2对象所提供的信息,就可以获取第i-1级页面的页面ID。方式二:在监控到第i级页面的访问请求之后并在加载第i级页面之前,通过浏览器提供的get_locationURL接口获取第i-1级页面的URL。上述方式二适用于仍通过当前窗口或当前标签页打开第i级页面的情况。在这种情况下,由于没有打开新窗口或新标签页,所以不能够采用与方式一类似的方式获取第i-1级页面的页面ID。针对这种情况,在监控到第i级页面的访问请求之后,但在第i级页面的“BeforeNavigate2”事件之前,get_locationURL接口所提供的仍然还是第i-1级页面的URL,因此利用get_locationURL接口可以获取第i-1级页面的URL。但是,在通过浏览器提供的get_locationURL接口获取第i-1级页面的URL的步骤之后还需要判断是否由浏览器地址栏的输入行为触发打开第i级页面,具体地,可以通过根据浏览器地址栏的点击和输入动作来判断;若判断结果为是,则将通过浏览器提供的get_locationURL接口获取的第i-1级页面的URL清空,将第i级页面作为初始页面进行处理,执行步骤S201;若判断结果为否,执行步骤S203。上述方式一和方式二分别针对不同的情况。如果第i级页面是通过新窗口或新标签页打开的,那么步骤S202通过上述方式一获得第i-1级页面的页面ID;如果第i级页面是通过当前窗口或当前标签页打开的,那么步骤S202通过上述方式二获得第i-1级页面的URL。如果步骤S202获得的是第i-1级页面的页面ID,那么后续则根据该页面ID查询对应的refer链;如果步骤S202获得的是第i-1级页面的URL,那么后续则根据该URL查询对应的refer链。在步骤S202之后,方法200进入步骤S203,其中查询包含第i-1级页面的页面ID或URL的refer链,创建该refer链的第i级节点,将第i级页面的页面ID和URL作为第i级节点的信息。具体地,如果在步骤S202中,采用上述方式一获取得到第i-1级页面的页面ID,那么直接查询包含第i-1级页面的页面ID的refer链即可。例如,如果通过步骤S202得到第2级页面的页面ID为ID2,URL为B,以及第1级页面(就是初始页面)的页面ID为ID1,则在本步骤中,查询包含ID1的refer链,并且该refer链的最后一级节点的索引信息为ID1,即A(ID1);创建该refer链的第2级节点,将ID2和B作为第2级节点的信息,得到refer链为A(ID1)->B(ID2)。如果在步骤S202中,采用上述方式二获取得到第i-1级页面的URL,那么则需要查询包含第i-1级页面的URL的refer链。由于维护refer链的进程有可能维护有多条包含相同URL的refer链,所以本步骤有可能查询得到多条包含第i-1级页面的URL的refer链。但是,由于在上述方式二所适用的仍通过当前窗口或当前标签页打开第i级页面的情况下,页面跳转的时序性良好,所以可以选择最近更新的refer链作为待创建第i级节点的refer链。可选地,在上述步骤S202的方式一中,也可以仅向第i级页面的接口对象写入第i-1级页面的URL,通过读取第i级页面的接口对象所提供的信息,获取第i-1级页面的URL。接着,在步骤S203中,查询包含第i-1级页面的URL的refer链,并在查询到多条refer链的情况下选择最近更新的refer链作为待创建第i级节点的refer链。但是,由于在上述方式一所适用的通过新窗口或新标签(tab)页打开第i级页面的情况下,页面跳转的时序性较差,所以根据页面ID查找refer链的方法的准确度会高于根据URL查找refer链的方法。循环执行上述步骤S202和步骤S203,由此创建完整的refer链。对于上述示例,所创建的refer链为:A(ID1)->B(ID2)->C(ID3)->D(ID4)。在创建refer链的过程中,还需要考虑到一种特殊情况,即:在访问某些页面时,该页面会发生多次自动跳转的情况,例如3xx等跳转情况,本文将这种跳转称为页面间跳转。在IE浏览器中,在访问同一个页面时BHO机制提供了三个事件,分别为BeforeNavigate2,NavigateComplete2和DocumentComplete2。在正常情况下,三个事件对应的URL都是相同的,但如果发生多次302跳转,就会发生如下情况:(BeforeNavigate2)url0->(302)url1->(302)url2->(NavigateComplete2)url2->(DocumentComplete2)url2。如果仍以上述示例为例,在访问页面C时,页面C有可能发生多次自动跳转,依次跳转到C1和C2。因此,如果发生页面间跳转的情况,依靠上述方法可能无法捕获到所有跳转页面的URL。鉴于上述特殊情况,本发明实施例在上述步骤S203之后还包括创建至少一个第i级子节点的步骤,即步骤S204,该步骤是在第i级页面发生页面间跳转的情况下执行的,其中至少一个第i级子节点对应于第i级页面的至少一个页面间跳转页面。在步骤S204中,捕获重定向处理时所调用的函数,从重定向处理时所调用的函数的输入参数中获取第i级页面的至少一个页面间跳转页面的URL;以及,查询包含第i级页面的页面ID的refer链,创建该refer链的至少一个第i级子节点,将第i级页面的页面ID和第i级页面的至少一个页面间跳转页面的URL作为至少一个第i级子节点的信息。具体地,在发生3xx等跳转情况时,浏览器会进行重定向处理,在重定向处理时浏览器会调用“Urlmon!CINet::OnRedirect”函数,该函数的输入参数就记录了页面间跳转页面的URL,通过捕获该函数,就可以获取第i级页面的至少一个页面间跳转页面的URL。将通过这种方法获得的页面间跳转页面的URL作为第i级子节点的信息,该页面间跳转页面的索引ID与第i级页面的页面ID相同。对于上述示例,所创建的refer链为:A(ID1)->B(ID2)->C(ID3)->C1(ID3)->C2(ID3)->D(ID4)。根据本发明实施例提供的对网页访问行为进行处理的方法,每当监控到通过初始页面的各级链接对新页面的访问请求后,获取该新页面对应的refer链,将refer链包含的所有URL上报给服务器,由服务器根据这些URL检测出匹配结果,由客户端根据该匹配结果对新页面的访问行为进行处理。与现有技术仅利用新页面的URL进行检测相比,由于refer链所提供的URL更多,覆盖面更广,因而检测效率更高,能够更为有效地保护客户端网页浏览的安全性。进一步的,本发明实施例还提供了创建refer链的方法,根据该方法能够实时获取由各级页面的URL组成的refer链,这样客户端也可以及时的将refer链所包含的所有URL发送给服务器,服务器由此能及时地获得很全面的URL信息,根据这些URL信息,服务器能够及时的向客户端返回匹配结果,从而实现了实时快速的保护客户端的网页浏览的安全性。图3示出了根据本发明一个实施例的客户端的结构框图。该客户端用于检测通过初始页面的第i级链接所打开的第i级页面,i≥2。如图3所示,客户端包括:监控模块31、查询接口32和保护模块33,可选地,客户端还可以包括:加密模块34。监控模块31适于在监控到第i级页面的访问请求后,获取包含第i级页面的页面ID的refer链。该第i级页面的访问请求是用户在第i-1级页面点击链接或其它链接方式触发的。监控模块31在监控到第i级页面的访问请求后,浏览器将加载第i级页面,在加载第i级页面的过程中,监控模块31获取包含第i级页面的页面ID的refer链。refer链包含初始页面至第i级页面的页面ID和URL,其中各级页面的页面ID是浏览器在加载页面的过程中为页面所生成的唯一的ID,在refer链中它作为页面的URL的索引值。浏览器通过第i级页面的页面ID查询包含第i级页面的URL且第i级页面是最后一级页面的refer链。查询接口32适于将refer链所包含的所有URL发送给服务器,以供服务器查询refer链所包含的所有URL是否属于服务器保存的黑名单和/或白名单数据库,然后将查询结果与预设的规则进行匹配得到匹配结果;以及,接收服务器返回的匹配结果。可选地,根据与服务器之间的云查询协议,加密模块34将refer链所包含的所有URL加密成密文(有关加密方法的描述可参见方法实施例),发送给查询接口32,由查询接口32将密文发送给服务器。查询接口32可以仅将refer链所包含的各级页面的URL的密文上报给服务器,无需上报各级页面的页面ID。保护模块33适于根据匹配结果对第i级页面的访问行为进行处理。如果匹配结果为风险提示信息,保护模块33向用户提示风险。可选地,保护模块33可以向用户提供拦截当前页面和继续访问当前页面的选项,如果用户选择拦截当前页面,则保护模块33对当前页面的访问行为进行拦截。进一步的,客户端还可以包括refer链创建模块35。refer链创建模块35包括:第一节点创建单元36和第二节点创建单元37。第一节点创建单元36适于在监控到初始页面的访问请求后,生成初始页面的页面ID,获取初始页面的URL,创建refer链的第1级节点,将初始页面的页面ID和URL作为第1级节点的信息写入refer链。进一步的,第一节点创建单元36包括:初始页面的页面ID生成单元361、初始页面的URL获取单元362和第一节点创建子单元363。初始页面的页面ID生成单元361适于在监控到初始页面的访问请求后,生成初始页面的页面ID。初始页面的URL获取单元362适于在加载初始页面的过程中,通过指定响应事件接口获取当前加载的初始页面的URL。例如,通过实现标准插件机制的指定响应事件接口来获取。在IE浏览器中使用浏览器辅助对象BHO插件机制,通过响应“BeforeNavigate2”事件可以获取IE当前加载的URL。在火狐(Firefox)浏览器中使用火狐扩展机制提供的指定响应事件接口,获取火狐浏览器当前加载的URL。在谷歌(chrome)浏览器中使用NPAPI插件机制,获取谷歌浏览器当前加载的URL。第一节点创建子单元363适于创建refer链的第1级节点,将初始页面的页面ID和URL作为第1级节点的信息写入refer链。第二节点创建单元37,i≥2,适于在监控到第i级页面的访问请求后,生成第i级页面的页面ID,获取第i级页面的URL以及第i-1级页面的页面ID或URL,第i级页面是第i-1级页面的页面级跳转页面;以及,查询包含第i-1级页面的页面ID或URL的refer链,创建该refer链的第i级节点,将第i级页面的页面ID和URL作为第i级节点的信息;第二节点创建单元37适于创建refer链的各级节点。进一步的,第二节点创建单元37包括:第i级页面的页面ID生成单元371、第i级页面的URL获取单元372、第i-1级页面的页面ID或URL获取单元373和第二节点创建子单元374。第i级页面的页面ID生成单元371适于在监控到第i级页面的访问请求后,生成第i级页面的页面ID。第i级页面的URL获取单元372适于在加载第i级页面的过程中,通过指定响应事件接口获取当前加载的第i级页面的URL。获取当前加载的第i级页面的URL的具体方式可参见获取初始页面的URL的相关描述。第i-1级页面的页面ID或URL获取单元373适于在监控到第i级页面的访问请求后,获取第i-1级页面的页面ID或URL。第二节点创建子单元374适于查询包含第i-1级页面的页面ID或URL的refer链,创建该refer链的第i级节点,将第i级页面的页面ID和URL作为第i级节点的信息。可选地,客户端的第二节点创建单元37还包括:捕获单元375和写入单元376。捕获单元375适于在监控到第i级页面的访问请求后,获取第i级页面的接口对象指针。写入单元376适于根据接口对象指针向第i级页面的接口对象写入在加载第i-1级页面的过程中所获取的第i-1级页面的页面ID。这种实施方式适用于通过新窗口或新标签(tab)页打开第i级页面的情况。以IE浏览器为例,捕获单元375进一步适于在监控到第i级页面的访问请求后,捕获浏览器创建新窗口或新标签页所调用的函数,利用该函数的返回值获取第i级页面的接口对象指针,如IWEBBROWSER2指针。由于此时浏览器还未开始加载第i级页面,浏览器所记录的当前页面的页面ID还是在加载第i-1级页面的过程中所获取的第i-1级页面的页面ID,因此,此时写入单元376可根据该接口对象指针向IWEBBROWSER2对象写入第i-1级页面的页面ID。第i-1级页面的页面ID或URL获取单元373具体适于:在加载第i级页面的过程中,通过读取第i级页面的接口对象所提供的信息,获取第i-1级页面的页面ID。可选地,写入单元376适于根据接口对象指针向第i级页面的接口对象写入在加载第i-1级页面的过程中所获取的第i-1级页面的URL。可选地,第i-1级页面的页面ID或URL获取单元373进一步适于:在监控到第i级页面的访问请求之后并在加载第i级页面之前,通过浏览器提供的get_locationURL接口获取第i-1级页面的URL。第二节点创建单元37还包括:判断单元377和清空单元378。其中,判断单元377适于判断是否由浏览器地址栏的输入行为触发打开第i级页面,具体地,可以通过根据浏览器地址栏的点击和输入动作来判断;清空单元378适于在判断单元377的判断结果为是的情况下,将第i-1级页面的页面ID或URL获取单元373所获取的第i-1级页面的URL清空,并触发第一节点创建单元36将第i级页面作为初始页面进行处理;在判断单元377的判断结果为否的情况下,判断单元377触发第二节点创建子单元374创建refer链的第i级节点。如果第i-1级页面的页面ID或URL获取单元373获取得到第i-1级页面的页面ID,那么第二节点创建子单元374直接查询包含第i-1级页面的页面ID的refer链,创建该refer链的第i级节点,将第i级页面的页面ID和URL作为第i级节点的信息。如果第i-1级页面的页面ID或URL获取单元373获取得到第i-1级页面的URL,那么第二节点创建子单元374查询包含第i-1级页面的URL的refer链,并在查询到多条refer链的情况下选择最近更新的refer链,创建该refer链的第i级节点,将第i级页面的页面ID和URL作为第i级节点的信息。在创建refer链的过程中,考虑到页面发生多次自动跳转的情况,refer链创建模块35还包括:第二子节点创建单元38,适于捕获重定向处理时所调用的函数,从重定向处理时所调用的函数的输入参数中获取第i级页面的至少一个页面间跳转页面的URL;以及,查询包含第i级页面的页面ID的refer链,创建该refer链的至少一个第i级子节点,将第i级页面的页面ID和所述第i级页面的至少一个页面间跳转页面的URL作为至少一个第i级子节点的信息。图4示出了根据本发明一个实施例的服务器的结构框图。该服务器用于检测通过初始页面的第i级链接所打开的第i级页面,i≥2。如图4所示,服务器包括:黑名单和/或白名单数据库41和查询接口42。其中,黑名单和/或白名单数据库41适于保存属于黑名单和/或白名单的URL。服务器预先收集已识别的安全网页和危险/恶意网页,将安全网页的URL保存在白名单数据库中,将危险/恶意网页的URL保存在黑名单数据库中。可选地,黑名单和/或白名单数据库41中存储的也可以是URL的特征值。优选的,本发明实施例中的黑名单和/或白名单数据库41可以包括但不限于钓鱼网址库,广告欺诈网址库,或其他任何类型的恶意网址库等。查询接口42适于接收客户端发送的refer链所包含的所有URL,查询refer链所包含的所有URL是否属于黑名单和/或白名单数据库,然后将查询结果与预设的规则进行匹配得到匹配结果,将匹配结果返回给客户端。如果在客户端侧,refer链所包含的所有URL经过可逆加密方法进行了加密,那么查询接口42中包含对接收到的加密密文进行解密的模块,经过该模块解密处理后获得refer链所包含的所有URL。预设的规则是根据实际需求而设定的,其具体规定了需要进行风险提示的情况。下面以两种预设规则为例进行说明:规则一:经过搜索引擎跳转到恶意页面或危险页面或未知页面针对该规则一,查询接口42进一步适于:如果查询结果表明第i级页面的URL属于黑名单数据库,即第i级页面为恶意页面或危险页面;或者,第i级页面的URL不属于白名单数据库,即第i级页面为未知页面;并且判断出初始页面至第i-1级页面中任一页面为搜索页面,即第i级页面是经过搜索引擎跳转而来的,表明查询结果与该规则一匹配,得到匹配结果为风险提示信息。规则二:经过恶意页面或危险页面或未知页面跳转到支付页面针对该规则二,查询接口42进一步适于:如果查询结果表明初始页面至第i-1级页面中的任一页面的URL属于黑名单数据库,即该页面为恶意页面或危险页面;或者,初始页面至第i-1级页面中的任一页面的URL不属于白名单数据库,即该页面为未知页面;并且判断出第i级页面为支付页面,表明查询结果与该规则二匹配,得到匹配结果为风险提示信息。上述规则一和规则二仅为两个具体的例子,本发明不仅限于这两种规则,根据实际需求,服务器可以预设多种规则用于匹配查询结果。进一步的,服务器还可以包括:搜索页面URL数据库43,适于保存搜索页面URL列表;支付页面URL数据库44,适于保存支付页面URL列表。查询接口42通过判断初始页面至第i-1级页面中任一页面的URL属于预设的搜索页面URL列表,确定初始页面至第i-1级页面中任一页面为搜索页面;以及,通过判断第i级页面的URL属于预设的支付页面URL列表,确定第i级页面为支付页面。图5示出了根据本发明一个实施例的对网页访问行为进行处理的系统的结构框图。如图5所示,系统包括客户端30和服务器40,关于客户端30和服务器40的具体结构和功能参见上述实施例的描述,在此不再赘述。根据本发明实施例提供的客户端、服务器以及对网页访问行为进行处理的系统,每当客户端监控到通过初始页面的各级链接对新页面的访问请求后,获取该新页面对应的refer链,将refer链包含的所有URL上报给服务器,由服务器根据这些URL检测出匹配结果,由客户端根据该匹配结果对新页面的访问行为进行处理。与现有技术仅利用新页面的URL进行检测相比,由于refer链所提供的URL更多,覆盖面更广,因而检测效率更高,能够更为有效地保护客户端网页浏览的安全性。进一步的,本发明实施例的客户端还具有创建refer链的功能,根据该功能能够实时获取由各级页面的URL组成的refer链,这样客户端也可以及时的将refer链所包含的所有URL发送给服务器,服务器由此能及时地获得很全面的URL信息,根据这些URL信息,服务器能够及时的向客户端返回匹配结果,从而实现了实时快速的保护客户端的网页浏览的安全性。根据本发明实施例提供的方法,在所述通过浏览器提供的get_locationURL接口获取第i-1级页面的页面ID和URL的步骤之后还包括:判断是否是由浏览器地址栏的输入行为触发打开第i级页面;若判断结果为是,则将通过浏览器提供的get_locationURL接口获取的第i-1级页面的URL清空,将第i级页面作为初始页面进行处理;若判断结果为否,则执行所述创建所述refer链的第i级节点的步骤。根据本发明实施例提供的方法,在所述第i级节点创建步骤之后还包括:至少一个第i级子节点创建步骤,所述至少一个第i级子节点对应于第i级页面的至少一个页面间跳转页面:捕获重定向处理时所调用的函数,从所述重定向处理时所调用的函数的输入参数中获取第i级页面的至少一个页面间跳转页面的URL;以及,查询包含所述第i级页面的页面ID的refer链,创建该refer链的至少一个第i级子节点,将所述第i级页面的页面ID和所述第i级页面的至少一个页面间跳转页面的URL作为至少一个第i级子节点的信息。根据本发明实施例提供的客户端,用于检测通过初始页面的第i级链接所打开的第i级页面,i≥2;所述客户端包括:监控模块,适于在监控到第i级页面的访问请求后,获取包含第i级页面的页面ID的refer链,所述refer链包含初始页面至第i级页面的页面ID和URL;查询接口,适于将所述refer链所包含的所有URL发送给服务器,以供所述服务器查询所述refer链所包含的所有URL是否属于服务器保存的黑名单和/或白名单数据库,然后将查询结果与预设的规则进行匹配得到匹配结果;以及,接收所述服务器返回的匹配结果;保护模块,适于根据所述匹配结果对所述第i级页面的访问行为进行处理。根据本发明实施例所述的客户端,如果所述查询接口接收到的匹配结果为风险提示信息,所述保护模块进一步适于:根据所述风险提示信息向用户提示风险,并根据用户的选择对所述第i级页面的访问行为进行拦截。根据本发明实施例所述的客户端,还包括:加密模块,适于将所述refer链所包含的所有URL加密成密文,发送给所述查询接口,由所述查询接口将所述密文发送给服务器。根据本发明实施例所述的客户端,还包括:refer链创建模块;所述refer链创建模块包括:第一节点创建单元,适于在监控到初始页面的访问请求后,生成初始页面的页面ID,获取初始页面的URL,创建refer链的第1级节点,将所述初始页面的页面ID和URL作为第1级节点的信息写入refer链;第二节点创建单元,i≥2,适于在监控到第i级页面的访问请求后,生成第i级页面的页面ID,获取第i级页面的URL以及第i-1级页面的页面ID或URL,所述第i级页面是第i-1级页面的页面级跳转页面;以及,查询包含所述第i-1级页面的页面ID或URL的refer链,创建该refer链的第i级节点,将所述第i级页面的页面ID和URL作为第i级节点的信息;所述第二节点创建单元适于创建所述refer链的各级节点。根据本发明实施例所述的客户端,所述第一节点创建单元包括:初始页面的页面ID生成单元,适于在监控到初始页面的访问请求后,生成初始页面的页面ID;初始页面的URL获取单元,适于在加载初始页面的过程中,通过指定响应事件接口获取当前加载的初始页面的URL;第一节点创建子单元,适于创建refer链的第1级节点,将所述初始页面的页面ID和URL作为第1级节点的信息写入refer链;所述第二节点创建单元包括:第i级页面的页面ID生成单元,适于在监控到第i级页面的访问请求后,生成第i级页面的页面ID;第i级页面的URL获取单元,适于在加载第i级页面的过程中,通过指定响应事件接口获取当前加载的第i级页面的URL;第i-1级页面的页面ID或URL获取单元,适于在监控到第i级页面的访问请求后,获取第i-1级页面的页面ID或URL;第二节点创建子单元,适于查询包含所述第i-1级页面的页面ID或URL的refer链,创建该refer链的第i级节点,将所述第i级页面的页面ID和URL作为第i级节点的信息。根据本发明实施例所述的客户端,所述第二节点创建单元还包括:捕获单元,适于在监控到第i级页面的访问请求后,获取第i级页面的接口对象指针;以及,写入单元,适于根据所述接口对象指针向第i级页面的接口对象写入在加载第i-1级页面的过程中所获取的第i-1级页面的页面ID;所述第i-1级页面的页面ID或URL获取单元具体适于:在加载第i级页面的过程中,通过读取第i级页面的接口对象所提供的信息,获取第i-1级页面的页面ID。根据本发明实施例所述的客户端,所述捕获单元进一步适于:在监控到第i级页面的访问请求后,捕获浏览器创建新窗口或新标签页所调用的函数,利用该函数的返回值获取第i级页面的接口对象指针。根据本发明实施例所述的客户端,所述第i-1级页面的页面ID或URL获取单元进一步适于:在监控到第i级页面的访问请求之后并在加载第i级页面之前,通过浏览器提供的get_locationURL接口获取第i-1级页面的URL。根据本发明实施例所述的客户端,所述第二节点创建单元还包括:判断单元,适于判断是否是由浏览器地址栏的输入行为触发打开第i级页面;清空单元,适于在所述判断单元的判断结果为是的情况下,将所述第i-1级页面的页面ID或URL获取单元所获取的第i-1级页面的URL清空,并触发第一节点创建单元将第i级页面作为初始页面进行处理;在所述判断单元的判断结果为否的情况下,所述判断单元触发所述第二节点创建子单元创建所述refer链的第i级节点。根据本发明实施例所述的客户端,所述refer链创建模块还包括:第二子节点创建单元,适于捕获重定向处理时所调用的函数,从所述重定向处理时所调用的函数的输入参数中获取第i级页面的至少一个页面间跳转页面的URL;以及,查询包含所述第i级页面的页面ID的refer链,创建该refer链的至少一个第i级子节点,将所述第i级页面的页面ID和所述第i级页面的至少一个页面间跳转页面的URL作为至少一个第i级子节点的信息。根据本发明实施例所述的服务器,用于检测通过初始页面的第i级链接所打开的第i级页面,i≥2;所述服务器包括:黑名单和/或白名单数据库,适于保存属于黑名单和/或白名单的URL;查询接口,适于接收客户端发送的refer链所包含的所有URL,查询所述refer链所包含的所有URL是否属于所述黑名单和/或白名单数据库,然后将查询结果与预设的规则进行匹配得到匹配结果,将所述匹配结果返回给所述客户端。根据本发明实施例所述的服务器,所述查询接口进一步适于:如果查询结果表明第i级页面的URL属于黑名单数据库或不属于白名单数据库,并且判断出初始页面至第i-1级页面中任一页面为搜索页面,则得到匹配结果为风险提示信息;或者,如果查询结果表明初始页面至第i-1级页面中任一页面的URL属于黑名单数据库或不属于白名单数据库,并且判断出第i级页面为支付页面,则得到匹配结果为风险提示信息。根据本发明实施例所述的服务器,还包括:搜索页面URL数据库,适于保存搜索页面URL列表;支付页面URL数据库,适于保存支付页面URL列表;所述查询接口通过判断所述初始页面至第i-1级页面中任一页面的URL属于预设的搜索页面URL列表,确定所述初始页面至第i-1级页面中任一页面为搜索页面;以及,通过判断所述第i级页面的URL属于预设的支付页面URL列表,确定所述第i级页面为支付页面。根据本发明实施例的对网页访问行为进行处理的系统,包括上述的客户端和上述的服务器。在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的客户端、服务器以及对网页访问行为进行处理的系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1