本发明涉及通讯技术领域,具体涉及一种页面劫持监控方法、装置、系统和存储介质。
背景技术:
当前公司很多的重要产品线经常发生页面被劫持的现象。比如:社交页面被篡改甚至直接导致页面打不开,游戏页面(如资源下载页面等)遇到运营商劫持导致下载失败,以及广告页面经常被各种插件或者运营商劫持导致收入受到影响。
目前页面劫持主要体现在篡改网页内容,即在网页里增加、删除、修改网页元素,比如在网页中添加脚本或者外部资源地址等等。
为了提高用户的产品体验,一般需要进行页面劫持监控。目前页面劫持监控主要是在浏览器中实现,因此,会受到浏览器解析和渲染逻辑干扰,导致页面劫持监控的准确度比较低。
技术实现要素:
本发明实施例提供一种页面劫持监控方法、装置、系统和存储介质,可以提高页面劫持监控的准确度。
本发明实施例提供一种页面劫持监控方法,包括:
从网关设备接收页面获取请求对应的响应内容,所述页面获取请求携带页面地址;
向所述网关设备发送监控请求,所述监控请求携带所述页面地址;
从所述网关设备接收所述监控请求对应的响应信息,所述响应信息包括预设页面内容及其对应的预设篡改确定信息;
根据所述预设篡改确定信息确定所述预设页面内容是否被篡改,得到确定结果;
向服务器发送包括所述预设页面内容以及所述确定结果的监控信息,以便所述服务器根据所述监控信息进行页面劫持监控。
相应的,本发明实施例还提供了另一种页面劫持监控方法,包括:
接收终端发送的页面获取请求,所述页面获取请求携带页面地址;
根据所述页面获取请求向所述终端返回对应的页面内容;
接收所述终端发送的监控请求,所述监控请求携带所述页面地址;
根据所述监控请求向所述终端返回相应的响应信息,所述响应信息包括预设页面内容及其对应的预设篡改确定信息。
相应的,本发明实施例还提供第一种页面劫持监控装置,包括:
第一接收单元,用于从网关设备接收页面获取请求对应的响应内容,所述页面获取请求携带页面地址;
请求发送单元,用于向所述网关设备发送监控请求,所述监控请求携带所述页面地址;
第二接收单元,用于从所述网关设备接收所述监控请求对应的响应信息,所述响应信息包括预设页面内容及其对应的预设篡改确定信息;
确定单元,用于根据所述预设篡改确定信息确定所述预设页面内容是否被篡改,得到确定结果;
信息发送单元,用于向服务器发送包括所述预设页面内容以及所述确定结果的监控信息,以便所述服务器根据所述监控信息进行页面劫持监控。
相应的,本发明实施例还提供第二种页面劫持监控装置,包括:
第一请求接收单元,用于接收终端发送的页面获取请求,所述页面获取请求携带页面地址;
内容发送单元,用于根据所述页面获取请求向所述终端返回对应的页面内容;
第二请求接收单元,用于接收所述终端发送的监控请求,所述监控请求携带所述页面地址;
响应单元,用于根据所述监控请求向所述终端返回相应的响应信息,所述响应信息包括预设页面内容及其对应的预设篡改确定信息。
相应的,本发明实施例还提供了一种页面劫持监控系统,包括本发明实施例任一提供的第一种页面劫持监控装置以及第二种页面劫持监控装置。
相应的,本发明实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明实施例任一提供的方法的步骤。
本发明实施例采用从网关设备接收页面获取请求对应的响应内容,该页面获取请求携带页面地址,然后,向该网关设备发送监控请求,该监控请求携带该页面地址,从该网关设备接收该监控请求对应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息,根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果;向服务器发送包括该预设页面内容以及该确定结果的监控信息,以便该服务器根据该监控信息进行页面劫持监控。该方案可以在正常请求页面地址对应的页面内容之后,向网关设备再次请求该页面地址对应的预设页面内容及其篡改确定信息,并基于篡改确定信息确定接收到的预设页面内容是否被篡改,向服务器发送包含篡改确定结果和预设页面内容的监控信息,由服务器基于监控信息进行相应的页面劫持监控;避免了在终端浏览器中进行页面劫持监控,不会受到浏览器解析和渲染逻辑干扰,提高了页面劫持监控的准确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的页面劫持监控系统的场景示意图;
图1b是本发明实施例提供的页面劫持监控方法的流程示意图;
图1c是本发明实施例提供的监控数据的格式示意图;
图2是本发明实施例提供的页面劫持监控方法的另一流程示意图;
图3a是本发明实施例提供的页面劫持监控系统的另一场景示意图;
图3b是本发明实施例提供的页面劫持监控方法的又一示意图;
图4是本发明实施例提供的第一种页面劫持监控装置的结构示意图;
图5是本发明实施例提供的第二种页面劫持监控装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种页面劫持监控方法、装置、系统和存储介质。
本发明实施例提供了一种页面劫持监控系统,该系统可以包括:本发明实施例任一提供的第一种页面劫持监控装置和第二种页面劫持监控装置。其中,第一种页面劫持监控装置可以集成终端等设备中,该终端可以手机、平板电脑等。该第二种页面劫持监控装置可以集成网关设备中,该网关设备可以为网关如多层云网关等、提供网关功能的设备,如提供网关功能的服务器等。此时,该页面劫持监控系统还可以包括其他设备,如服务器等。
比如,参考图1a,本发明实施例提供了一种页面劫持监控系统,该系统可以包括终端、网关设备以及服务器,该终端集成有第一种页面劫持监控装置,该网关设备集成有第二中页面劫持监控装置。具体地:
终端可以向网关设备发送页面获取请求,该页面获取请求携带页面地址,网关设备根据该页面获取请求向该终端返回对应的页面内容,终端向网关设备发送监控请求,该监控请求携带该页面地址,网关设备根据监控请求向终端返回相应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息,终端根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果,根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果;向服务器发送包括该预设页面内容以及该确定结果的监控信息,该服务器根据该监控信息进行页面劫持监控。
其中,响应信息还可以包括页面地址、监控请求对应的响应状态信息如响应状态码等等。
此外,在一些实施例中,终端还可以从该网关设备获取服务器的网络地址,然后,根据该网络地址向该服务器发送包括该预设页面内容以及该篡改确定结果的监控信息。
以下将分别进行详细说明。
实施例一、
本实施例将从第一种页面劫持监控装置的角度进行描述,该第一种页面劫持监控装置具体在终端中,该终端可以为手机、平板电脑等设备。
一种页面劫持监控方法,包括:从网关设备接收页面获取请求对应的响应内容,该页面获取请求携带页面地址,然后,向该网关设备发送监控请求,该监控请求携带该页面地址,从该网关设备接收该监控请求对应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息,根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果;向服务器发送包括该预设页面内容以及该确定结果的监控信息,以便该服务器根据该监控信息进行页面劫持监控。
如图1b所示,一种页面劫持监控方法的具体流程可以如下:
101、从网关设备接收页面获取请求对应的响应内容,该页面获取请求携带页面地址。
其中,页面地址为需要获取的页面的网络地址,该网络地址可以包括url(uniformresourcelocator,统一资源定位符)。统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
本实施例中页面可以包括网页,如html(hypertextmarkuplanguage,超级文本标记语言)网页等。该响应内容可以包括页面地址对应的页面内容,如url对应的网页内容。
本实施例中,请求可以为遵循预定网络协议的请求,比如可以为遵循http(hypertexttransferprotocol,超文本传输协议)的请求,即http请求。
具体地,本实施例可以向网关设备发送页面获取请求,该页面获取请求携带页面地址,然后,从网关设备接收该页面获取请求对应的响应内容。具体地,网关设备将该页面获取请求转发至相应的业务服务器,接收该业务服务器返回的该页面获取请求对应的响应内容,并将该响应内容发送给请求终端。
实际应用中,本实施例的页面劫持监控方法中步骤102-105可以由脚本模块来实现,该脚本模块为基于网络脚本语言如javascript(简称js)编写的程序,该脚本模块如js模块可以集成在终端的客户端内,该客户端可以包括浏览器、或者app。
102、向网关设备发送监控请求,该监控请求携带该页面地址。
在接收或者加载页面获取请求的响应内容之后,本实施例可以向网关设备发送监控请求,该监控请求与页面获取请求携带相同的页面地址;也即在向页面地址发起正常的页面获取请求之后,再次向该页面地址发起监控请求。
该监控请求的发送时机为:在接收到响应内容之后,或者接收并加载页面内容之后,这样可以降低页面劫持监控对用户体验的影响、延长页面劫持监控的执行时间、以及排除网络层面的影响。
其中,监控请求的头部字段携带监控请求的标识,该标识用于指示请求为监控请求,比如,httpheader即http请求携带的头部字段携带指示该请求为监控请求的标识。该标识可以根据实际需求设定,如可以为x-gw-sc,其中,x-cgw-sc的格式和意义如下:
x为国际通用的实验请求前缀如httpheader前缀;
cgw代表某公司的网关gateway,如tgw代表腾讯公司的网关;
sc全称securitycheck,安全检查;
x-cgw-sc中首字母大写,多个单词之间使用中划线分隔。
此时,步骤“向网关设备发送监控请求”可以包括:
创建符合预设通讯协议的监控请求,该监控请求的头部字段携带该监控请求的标识,该监控请求的地址字段携带该页面地址;
向网关设备发送监控请求。
该预设讯协议可以为http等网络协议。
本实施例中,监控请求的标识还可以设置相应的值,该标识的值所遵循的格式可以根据实际需求设定,比如,可以遵循如下格式:
业务名+中划线+场景名;
比如,针对社交产品的首页发起的监控请求,该请求的头部字段包括:监控请求的标识,该标识的值为:社交产品名称-index。例如,qq空间首页的监控请求的头部字段包括:x-tgw-sc:qz-index。
本实施例中,网关设备可以包括多层网关,如七层云网关,实际应用中可以采用tgw-l7(腾讯七层云网关,负责七层流量接入的公司级平台)。
103、从该网关设备接收该监控请求对应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息。
其中,预设页面内容为预置的页面内容,该页面内容可以根据实际需求设定。该预设页面内容可以来自于网关设备本地,而不需要从业务服务器或产品服务器获取,因此,该预设页面内容区别于正常请求的页面内容。
该预设页面内容的属性信息可以根据实际需求设定,其中,属性信息可以包括页面内容的大小、页面内容的类别、页面样式等等。
实际应用中,可以采用指示参数指示页面内容的大小,比如,该指示参数可以包括页面内容的字节数量等。
可选地,该预设页面内容可以基于html形成的页面内容,该预设页面内容可以包括html标签,该html标签用于在相应页面位置插入内容,这样设计的考虑是如果劫持者根据常用标签插入内容,监控数据会更加真实可信。
其中,篡改确定信息,为用于确定预设页面内容是否被篡改的信息,该篡改确定信息可以是预先设置的篡改确定信息,可以根据实际需求设定。比如,该篡改确定信息可以包括预设页面内容对应的预设属性信息等。实际应用中,该篡改确定信息即为预设页面内容的签名,用于鉴别预设页面内容是否被篡改,因此,该篡改确定信息也可以称为签名信息。
实际应用中,该篡改确定信息可以为与业务服务器或产品服务器事先约定好的篡改确定信息。比如,篡改确定信息可以包括与业务服务器或产品服务器事先约定好的预设页面内容的属性信息。
优选地,属性信息可以包括页面内容的大小,如页面内容的字节数量,此时,篡改确定信息可以包括预设页面内容的预设字节数量,该预设字节数量可以与业务服务器或产品服务器事先约定好。
104、根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果。
具体地,可以获取该预设页面内容当前的篡改确定信息,将当前的篡改确定信息与该预设篡改确定信息进行比较,若相同,则确定该预设页面内容没有被篡改,若不相同,则确定该预设页面内容被篡改。
由于预设页面内容的篡改确定信息事先是预设固定的,因此,如果预设页面内容被篡改那么预设页面内容的篡改确定信息可能会发生变化,比如,当篡改确定信息包括预设页面内容的预设大小信息(如字节数量)时,如果页面被篡改(添加、删除网页内容等),那么终端接收到的预设页面内容的大小(如字节数量)会发生变化,此时,可确定预设页面内容被篡改。
例如,当预设篡改确定信息可以包括预设页面内容的预设字节数量(如98)时,可以获取预设页面当前的字节数量,将当前的字节数量与预设字节数量进行比较,若相同,则确定预设页面内容被篡改,否则,确定预设页面内容未被篡改。在实际应用中可以输出预定的字符来表示页面内容被篡改,比如,在当前的属性信息与预设属性信息相同时,输出0以表示页面内容被篡改,不相同时输出1以表示页面内容未被篡改。此时,确定结果可以包括:0或1。
其中,表示页面内容被篡改的字符可以与网关设备约定,比如,可以设置a表示页面内容被篡改,b表示页面内容未被篡改等等。
105、向服务器发送包括该预设页面内容以及该确定结果的监控信息,以便该服务器根据该监控信息进行页面劫持监控。
其中,服务器可以为页面劫持监控的服务器,该服务器的网络地址,可以由网关提供,比如,tgw提供一个域名和服务器用于劫持校验数据后续存储和分析。该服务器可以根据监控信息对进行劫持分析统计,从而实现对页面劫持情况的监控。比如,服务器可以分析页面是否被劫持,若劫持,分析页面内容的篡改情况、页面地址跳转、拦截等情况。
因此,本实施例可以从网关设备获取服务器的网络地址,然后,根据该网络地址向该服务器发送包括该预设页面内容以及该确定结果的监控信息。
例如,tgw提供的服务器地址为“tgwsc.qq.com/sc”,终端可以基于该地址向监控数据服务器发送监控信息,以便该服务器基于监控信息进行页面劫持分析统计,从而实现对页面劫持情况的监控。
可选地,本实施例的监控信息还可以包括监控请求对应的页面地址,比如,如果监控qq空间页面时,监控请求对应的页面地址即url可以为h5.qzone.qq.com/test.html。
考虑到页面劫持还可能是篡改url或者拦截、跳转url地址等。比如提前返回“302”,在url里加入渠道标识,将url直接转向非目标网站等。为了能够对篡改url或者拦截、跳转url地址进行监控,本实施例监控信息除了包括预设页面以及确定结果之外,还可以包括:监控请求对应的响应状态信息,比如,响应状态码,响应状态码可以包括:302、200等等,其中,响应状态码302表示跳转到其他地址页面。
可选地,为了实现页面跳转页面的精确分析,本实施例的监控信息还可以包括响应状态码对应的地址信息,如响应状态码302对应的跳转地址等。
可选地,在获取监控信息之后,为了方便监控信息传输以及页面劫持监控,本实施例可以将监控信息转换成预定数据格式的监控数据,上传服务器。其中,预定数据格式可以包括json格式等。也即,步骤“向服务器发送包括该预设页面内容以及该确结果的监控信息”可以包括:
将监控信息转换成符合预定数据格式的监控数据,该监控数据包括携带该预设页面内容的字段、携带该确定结果的字段;
向服务器发送该监控数据。
格式转换后的监控数据包括多个字段,每个字段携带相应的信息,如,携带预设页面的字段、携带确定结果的字段、携带页面地址的字段、携带接到的页面内容的属性信息字段、携带监控请求对应的响应状态信息的字段、携带接收到的页面内容的字段、携带服务器的名字的字段等等。
比如,在获取监控信息,可以按照json格式将监控信上传至服务器。参考图1c,为json格式的监控数据及其各字段格式定义。各个字段的解释和取值范围如下:
(1)、product表示产品线。值为字符串,不同的业务会有不同的取值。比如广告联盟可以叫pdt,qq空间可以叫qzone。
(2)、result表示篡改确定结果。取值如下:
0代表没有篡改。
1代表可能被篡改。
(3)、url,监控请求对应的url。
比如qq空间如果是监控h5.qzone.qq.com/test.html,那么url的值就是h5.qzone.qq.com/test.html。
需要包含域名及path,如果path为空则只需要包含域名。
(4)、err表示js发送或者响应处理过程出错,取值如下:
0表示没有错误。
1表示超时。
2表示响应内容解析错误。比如不符合http协议规范。
3表示js请求发送失败。比如被拦截。
4表示其他错误。
(5)、rsp_len表示js接收到的响应内容字节个数。
0表示空内容
(6)、rsp_code表示监控请求对应的响应状态码。
一般为200,302之类。
(7)、location监控请求如果返回302,必须是被劫持。此时location用来记录302对应的跳转地址。
取值即为302响应中对应的loation值。
location为空
(8)、rsp_text表示接收到的响应内容
需要将全部内容上传到监控服务器,便于后续分析。
(9)、rsp_server表示服务器名字,对应响应header的server字段。
常见的有nginx,apache等。
约定tgw监控服务器的名字为“tfe-mon”,即tencentfrontendmonitor。
本实施例的页面劫持监控方法可以应用在不同的场景中,如pv(pageview)大的页面。这类页面的特点就是用户访问量大;收入相关的资源。比如跟广告分成,渠道流量分成,资源下载分成等相关的页面或者链接;帐号相关页面如用户登陆帐号页面等。
由上可知,本发明实施例采用从网关设备接收页面获取请求对应的响应内容,该页面获取请求携带页面地址,然后,向该网关设备发送监控请求,该监控请求携带该页面地址,从该网关设备接收该监控请求对应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息,根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果;向服务器发送包括该预设页面内容以及该确定结果的监控信息,以便该服务器根据该监控信息进行页面劫持监控。该方案可以在正常请求页面地址对应的页面内容之后,向网关设备再次请求该页面地址对应的预设页面内容及其篡改确定信息,并基于篡改确定信息确定预设页面内容是否被篡改,向服务器发送包含篡改确定结果和预设页面内容的监控信息,由服务器基于监控信息进行相应的页面劫持监控;避免了在终端浏览器中进行页面劫持监控,不会受到浏览器解析和渲染逻辑干扰,提高了页面劫持监控的准确度。
此外,本发明实施例提供的页面劫持监控方案还具有覆盖范围广的优点,如可以应用于网页端,跨平台,能够覆盖所有用户使用场景;该页面劫持监控方案还具有无需客户端支持,易于实施及部署的优点;如只需要前端开发相应的功能模块如js模块就能完成上线监控,开发成本低。
实施例二、
本实施例将从第二种页面劫持监控装置的角度进行描述,该第二种页面劫持监控装置具体在网关设备中,该网关设备可以多层网关设备。
一种页面劫持监控方法,适应于网关设备,包括:接收终端发送的页面获取请求,该页面获取请求携带页面地址,根据该页面获取请求向该终端返回对应的页面内容,接收该终端发送的监控请求,该监控请求携带该页面地址,根据该监控请求向该终端返回相应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息。
如图2所示,一种页面劫持监控方法的具体流程可以如下:
201、接收终端发送的页面获取请求,该页面获取请求携带页面地址。
其中,页面地址为需要获取的页面的网络地址,该网络地址可以包括url(uniformresourcelocator,统一资源定位符)。统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
202、根据该页面获取请求向该终端返回对应的页面内容。
比如,可以将页面获取请求转发给相应的产品服务器或者业务服务器,接收产品服务器或者业务服务器根据该页面获取请求返回的页面内容,然后,将该页面内容转发给终端。
203、接收该终端发送的监控请求,该监控请求携带该页面地址。
其中,监控请求的头部字段携带监控请求的标识,该标识用于指示请求为监控请求,比如,httpheader即http请求携带的头部字段携带指示该请求为监控请求的标识。
该标识可以根据实际需求设定,如可以为x-gw-sc,具体地格式和意义参考实施例一种的描述。
具体地,步骤“接收该终端发送的监控请求”可以包括:
接收该终端发送的请求,并解析该请求的头部字段;
当该头部字段携带指示监控请求的标识时,确定该请求为监控请求。
本实施例网关设备可以解析并检查每一条经过的请求如http请求,如果发现请求的头部字段携带监控请求的标识时,可以确定该请求为监控请求。此时,可以返回包含预设页面内容及其对应的预设篡改确定信息的响应信息给终端,而不会将该请求转发给业务服务器。
比如,如果发现http请求header的key中匹配“x-tgw-sc”字段(忽略大小写),可以确定该http请求监控请求。此时,网关设备如tgw-l7直接返回一个固定大小的页面,不会将这条http请求转发给业务线。
204、根据该监控请求向该终端返回相应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息。
具体地,可以根据监控请求从网关设备本地获取相应的响应信息,然后,将该响应信息返回给终端。
本实施例可以向终端返回响应信息,以便终端可以基于预设篡改确定信息确定接受到的预设页面内容是否被篡改,然后,将接收到的预设页面内容以篡改确定结果上传至监控服务器,以便监控服务器进行页面劫持监控。
其中,预设页面内容为预置的页面内容,该页面内容可以根据实际需求设定。该预设页面内容可以来自于网关设备本地,而不需要从业务服务器或产品服务器获取,因此,该预设页面内容区别于正常请求的页面内容。
该预设页面内容的属性信息可以根据实际需求设定,其中,属性信息可以包括页面内容的大小、页面内容的类别、页面样式等等。
实际应用中,可以采用指示参数指示页面内容的大小,比如,该指示参数可以包括页面内容的字节数量等。
可选地,该预设页面内容可以基于html形成的页面内容,该预设页面内容可以包括html标签,该html标签用于在相应页面位置插入内容,这样设计的考虑是如果劫持者根据常用标签插入内容,监控数据会更加真实可信。
其中,篡改确定信息,为用于确定预设页面内容是否被篡改的信息,该篡改确定信息可以是预先设置的篡改确定信息,可以根据实际需求设定。比如,该篡改确定信息可以包括预设页面内容对应的预设属性信息等。实际应用中,该篡改确定信息即为预设页面内容的签名,用于鉴别预设页面内容是否被篡改,因此,该篡改确定信息也可以称为签名信息。
实际应用中,该篡改确定信息可以为与终端事先约定好的篡改确定信息。比如,篡改确定信息可以包括与终端事先约定好的预设页面内容的属性信息
由上可知,本发明实施例采用接收终端发送的页面获取请求,该页面获取请求携带页面地址,根据该页面获取请求向该终端返回对应的页面内容,接收该终端发送的监控请求,该监控请求携带该页面地址,根据该监控请求向该终端返回相应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息;该方案可以在终端发送监控请求后向终端发送特定的响应信息,包含特定页面内容及其对应的篡改确定信息,以便终端可以基于篡改确定信息确定接受到页面内容是否被篡改,并将特定页面内容以及篡改确定结果上传监控服务器进行页面劫持监控;避免了在终端浏览器中进行页面劫持监控,不会受到浏览器解析和渲染逻辑干扰,提高了页面劫持监控的准确度。
此外,本发明实施例提供的页面劫持监控方案还具有覆盖范围广的优点,如可以应用于网页端,跨平台,能够覆盖所有用户使用场景;该页面劫持监控方案还具有无需客户端支持,易于实施及部署的优点;如只需要前端开发相应的功能模块如js模块就能完成上线监控,开发成本低。实施例三、
根据实施例一和二所描述的方法,以下将作进一步详细说明。
参考3a所示,本实施例提供了一种页面劫持监控系统,该系统包括:终端、网关设备、监控服务器以及业务服务器;各设备之间通过网络连接。
其中,终端可以手机、平板电脑等设备,网关设备可以为多层网关设备,如tgw-l7。
下面将基于图3a所示的页面劫持监控系统,来对本发明的页面劫持监控方法进一步描述。
如图3b所示,一种页面劫持监控方法,具体流程可以如下:
301、终端向网关设备发送页面获取请求,该页面获取请求携带页面地址。
其中,页面地址为需要获取的页面的网络地址,该网络地址可以包括url(uniformresourcelocator,统一资源定位符)。
本实施例中页面可以包括网页,如html(hypertextmarkuplanguage,超级文本标记语言)网页等。
本实施例中,请求可以为遵循预定网络协议的请求,比如可以为遵循http(hypertexttransferprotocol,超文本传输协议)的请求,即http请求。
302、网关设备将该页面获取请求转发给业务服务器。
303、业务服务器根据页面获取请求向网关设备发送页面地址对应的页面内容。
304、网关设备将页面内容转发给终端。
305、终端接收到页面内容之后,向网关设备发送监控请求,该监控请求携带监控请求的标识和该页面地址。
比如,终端在针对某个url发起页面获取请求之后,可以再次对某个url发起监控请求,以实现页面劫持监控。
其中,监控请求的发送时机为:在接收到响应内容之后,或者接收并加载页面内容之后,这样可以降低页面劫持监控对用户体验的影响、延长页面劫持监控的执行时间、以及排除网络层面的影响。
为了能够让网关设备可以识别该请求为监控请求,该监控请求可以携带监控请求的标识,比如,监控请求的头部字段如httpheader携带监控请求的标识。该标识可以根据实际需求设定,如可以为x-gw-sc,其中,x-cgw-sc的格式和意义如下:
x为国际通用的实验请求前缀如httpheader前缀;
cgw代表某公司的网关gateway,如tgw代表腾讯公司的网关;
sc全称securitycheck,安全检查;
x-cgw-sc中首字母大写,多个单词之间使用中划线分隔。
具体地,监控请求发送过程可以包括:构建符合http协议的监控请求,然后,向网关设备发送构建的监控请求。
例如,针对qq空间首页进行劫持监控时,可以构造监控请求的头部字段包括x-tgw-sc:qz-index。
实际应用中,该步骤可以由终端客户端中js模块向网关设备发送监控请求。
306、网关设备根据监控请求向终端返回相应的响应信息,响应信息包括监控请求的响应状态信息、预设页面内容及其对应的预设篡改确定信息。
网关设备可以解析并检查每一条经过的请求如http请求,如果发现请求的头部字段携带监控请求的标识时,可以确定该请求为监控请求。此时,可以返回包含预设页面内容及其对应的预设篡改确定信息的响应信息给终端,而不会将该请求转发给业务服务器。
比如,如果发现http请求header的key中匹配“x-tgw-sc”字段(忽略大小写),可以确定该http请求监控请求。此时,网关设备如tgw-l7直接返回一个固定大小的页面,不会将这条http请求转发给业务线。
其中,预设页面内容为预置的页面内容,该页面内容可以根据实际需求设定。该预设页面内容可以来自于网关设备本地,而不需要从业务服务器或产品服务器获取,因此,该预设页面内容区别于正常请求的页面内容。
该预设页面内容的属性信息可以根据实际需求设定,其中,属性信息可以包括页面内容的大小、页面内容的类别、页面样式等等。
实际应用中,可以采用指示参数指示页面内容的大小,比如,该指示参数可以包括页面内容的字节数量等。
可选地,该预设页面内容可以基于html形成的页面内容,该预设页面内容可以包括html标签,该html标签用于在相应页面位置插入内容,这样设计的考虑是如果劫持者根据常用标签插入内容,监控数据会更加真实可信。
其中,篡改确定信息,为用于确定预设页面内容是否被篡改的信息,该篡改确定信息可以是预先设置的篡改确定信息,可以根据实际需求设定。比如,该篡改确定信息可以包括预设页面内容对应的预设属性信息等。实际应用中,该篡改确定信息即为预设页面内容的签名,用于鉴别预设页面内容是否被篡改,因此,该篡改确定信息也可以称为签名信息。
实际应用中,该篡改确定信息可以为与业务服务器或产品服务器事先约定好的篡改确定信息。比如,篡改确定信息可以包括与业务服务器或产品服务器事先约定好的预设页面内容的属性信息。
优选地,属性信息可以包括页面内容的大小,如页面内容的字节数量,此时,篡改确定信息可以包括预设页面内容的预设字节数量,该预设字节数量可以与业务服务器或产品服务器事先约定好。
307、终端根据预设篡改确定信息确定接收到的预设页面内容是否被篡改,得到确定结果。
具体地,可以获取该预设页面内容当前的篡改确定信息,将当前的篡改确定信息与该预设篡改确定信息进行比较,若相同,则确定该预设页面内容没有被篡改,若不相同,则确定该预设页面内容被篡改。实际应用中,该步骤可以由终端客户端中js模块向网关设备发送监控请求
由于预设页面内容的篡改确定信息事先是预设固定的,因此,如果预设页面内容被篡改那么预设页面内容的篡改确定信息可能会发生变化,比如,当篡改确定信息包括预设页面内容的预设大小信息(如字节数量)时,如果页面被篡改(添加、删除网页内容等),那么终端接收到的预设页面内容的大小(如字节数量)会发生变化,此时,可确定预设页面内容被篡改。例如,当预设篡改确定信息可以包括预设页面内容的预设字节数量(如98)时,可以获取预设页面当前的字节数量,将当前的字节数量与预设字节数量进行比较,若相同,则确定预设页面内容被篡改,否则,确定预设页面内容未被篡改。在实际应用中可以输出预定的字符来表示页面内容被篡改,比如,在当前的属性信息与预设属性信息相同时,输出0以表示页面内容被篡改,不相同时输出1以表示页面内容未被篡改。此时,确定结果可以包括:0或1。
其中,表示页面内容被篡改的字符可以与网关设备约定,比如,可以设置a表示页面内容被篡改,b表示页面内容未被篡改等等。
308、终端向监控服务器发送监控信息,其中,监控信息包括:接收到的预设页面内容、确定结果、页面地址、监控请求的响应状态信息。
其中,网关设备可以向终端提高监控服务器的网络地址,比如,tgw提供一个域名和服务器用于劫持校验数据后续存储和分析。终端可以基于该网络地址向监控服务器发送监控信息。
其中,监控请求对应的响应状态信息可以包括响应状态码,比如响应状态码可以包括:302、200等等,其中,响应状态码302表示跳转到其他地址页面。可选地,为了实现页面跳转页面的精确分析,本实施例的监控信息还可以包括响应状态码对应的地址信息,如响应状态码302对应的跳转地址等。
在获取监控信息之后,为了方便监控信息传输以及页面劫持监控,本实施例可以将监控信息转换成预定数据格式的监控数据,上传服务器。其中,预定数据格式可以包括json格式等。
比如,可以将监控信息转换成json格式的监控数据,该监控数据的结构参考图1c,该监控数据包括多个字段,每个字段携带相应的监控数据,如result字段携带篡改确定结果,url字段携带监控请求对应的url等等。
实际应用中,该步骤可以由终端客户端中js模块向网关设备发送监控请求。
309、监控服务器根据监控信息进行相应的页面劫持监控。
比如,监控服务器可以对监控信息进行劫持分析,以实现页面劫持监控。比如,监控服务器可以分析页面内容是否被篡改、篡改的页面位置和内容、是否有页面地址跳转、拦截等。
由上可知,本发明实施例提供的页面劫持监控方案可以在正常请求页面地址对应的页面内容之后,向网关设备再次请求该页面地址对应的预设页面内容及其预设篡改确定信息,并基于预设篡改确定信息确定预设页面内容是否被篡改后,向服务器发送包含篡改确定结果和预设页面内容的监控信息,由服务器基于监控信息进行相应的页面劫持监控;避免了在终端浏览器中进行页面劫持监控,不会受到浏览器解析和渲染逻辑干扰,提高了页面劫持监控的准确度。
此外,本发明实施例提供的页面劫持监控方案还具有覆盖范围广的优点,如可以应用于网页端,跨平台,能够覆盖所有用户使用场景;该页面劫持监控方案还具有无需客户端支持,易于实施及部署的优点;如只需要前端开发相应的功能模块如js模块就能完成上线监控,开发成本低。
实施例四、
为了更好地实施以上方法,本发明实施例还提供一种页面劫持监控装置,适用于终端,为了便于区分称为第一种页面劫持监控装置,如图4所示,该页面劫持监控装置包括:第一接收单元401、请求发送单元402、第二接收单元403、确定单元404和信息发送单元405,如下:
(1)第一接收单元401;
第一接收单元401,用于从网关设备接收页面获取请求对应的响应内容,该页面获取请求携带页面地址。
其中,页面地址为需要获取的页面的网络地址,该网络地址可以包括url(uniformresourcelocator,统一资源定位符)。
本实施例中页面可以包括网页,如html(hypertextmarkuplanguage,超级文本标记语言)网页等。该响应内容可以包括页面地址对应的页面内容,如url对应的网页内容。
本实施例中,请求可以为遵循预定网络协议的请求,比如可以为遵循http(hypertexttransferprotocol,超文本传输协议)的请求,即http请求。
(2)请求发送单元402;
请求发送单元402,用于向该网关设备发送监控请求,该监控请求携带该页面地址。
请求发送单元402在接收或者加载页面获取请求的响应内容之后,可以向该网关设备发送监控请求。比如,请求发送单元402可以向网关设备发送监控请求,该监控请求与页面获取请求携带相同的页面地址;也即在向页面地址发起正常的页面获取请求之后,再次向该页面地址发起监控请求
其中,请求发送单元402,可以具体用于:创建符合预设通讯协议(该预设讯协议可以为http等网络协议)的监控请求,该监控请求的头部字段携带该监控请求的标识,该监控请求的地址字段携带该页面地址;向该网关设备发送该监控请求。
该监控请求的头部字段携带监控请求的标识,该标识用于指示请求为监控请求,比如,httpheader即http请求携带的头部字段携带指示该请求为监控请求的标识。该标识可以根据实际需求设定。
(3)第二接收单元403;
第二接收单元403,用于从该网关设备接收该监控请求对应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息。
其中,预设页面内容为预置的页面内容,该页面内容可以根据实际需求设定。该预设页面内容可以来自于网关设备本地,而不需要从业务服务器或产品服务器获取,因此,该预设页面内容区别于正常请求的页面内容。
该预设页面内容的属性信息可以根据实际需求设定,其中,属性信息可以包括页面内容的大小、页面内容的类别、页面样式等等。
实际应用中,可以采用指示参数指示页面内容的大小,比如,该指示参数可以包括页面内容的字节数量等。
可选地,该预设页面内容可以基于html形成的页面内容,该预设页面内容可以包括html标签,该html标签用于在相应页面位置插入内容,这样设计的考虑是如果劫持者根据常用标签插入内容,监控数据会更加真实可信。
其中,篡改确定信息,为用于确定预设页面内容是否被篡改的信息,该篡改确定信息可以是预先设置的篡改确定信息,可以根据实际需求设定。比如,该篡改确定信息可以包括预设页面内容对应的预设属性信息等。实际应用中,该篡改确定信息即为预设页面内容的签名,用于鉴别预设页面内容是否被篡改,因此,该篡改确定信息也可以称为签名信息。
实际应用中,该篡改确定信息可以为与业务服务器或产品服务器事先约定好的篡改确定信息。比如,篡改确定信息可以包括与业务服务器或产品服务器事先约定好的预设页面内容的属性信息。
优选地,属性信息可以包括页面内容的大小,如页面内容的字节数量,此时,篡改确定信息可以包括预设页面内容的预设字节数量,该预设字节数量可以与业务服务器或产品服务器事先约定好。
(4)确定单元404;
确定单元404,用于根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果。
比如,确定单元404可以具体用于:获取该预设页面内容当前的篡改确定信息;将当前的篡改确定信息与该预设篡改确定信息进行比较;若相同,则确定该预设页面内容没有被篡改,若不相同,则确定该预设页面内容被篡改。
由于预设页面内容的篡改确定信息事先是预设固定的,因此,如果预设页面内容被篡改那么预设页面内容的篡改确定信息可能会发生变化,比如,当篡改确定信息包括预设页面内容的预设大小信息(如字节数量)时,如果页面被篡改(添加、删除网页内容等),那么终端接收到的预设页面内容的大小(如字节数量)会发生变化,此时,可确定预设页面内容被篡改。
例如,当预设篡改确定信息可以包括预设页面内容的预设字节数量(如98)时,可以获取预设页面当前的字节数量,将当前的字节数量与预设字节数量进行比较,若相同,则确定预设页面内容被篡改,否则,确定预设页面内容未被篡改。
(5)、信息发送单元405;
信息发送单元405,用于向服务器发送包括该预设页面内容以及该确定结果的监控信息,以便该服务器根据该监控信息进行页面劫持监控。
其中,服务器可以为页面劫持监控的服务器,该服务器的网络地址,可以由网关提供。因此,信息发送单元405可以从网关设备获取服务器的网络地址,然后,根据该网络地址向该服务器发送包括该预设页面内容以及该确定结果的监控信息。
可选地,本实施例的监控信息还可以包括监控请求对应的页面地址,监控请求对应的响应状态信息,响应状态码对应的地址信息等等。
可选地,为了方便监控信息传输以及页面劫持监控,本实施例可以将监控信息转换成预定数据格式的监控数据,上传服务器。也即信息发送单元405可以用于将监控信息转换成符合预定数据格式的监控数据,该监控数据包括携带该预设页面内容的字段、携带该确定结果的字段,向服务器发送该监控数据。
格式转换后的监控数据包括多个字段,每个字段携带相应的信息,如,携带预设页面的字段、携带确定结果的字段、携带页面地址的字段、携带接到的页面内容的属性信息字段、携带监控请求对应的响应状态信息的字段、携带接收到的页面内容的字段、携带服务器的名字的字段等等。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该页面劫持监控装置具体可以集成终端,该终端可以为手机、平板电脑等。
由上可知,本发明实施例采用第一接收单元401从网关设备接收页面获取请求对应的响应内容,该页面获取请求携带页面地址,然后,由请求发送单元402向该网关设备发送监控请求,该监控请求携带该页面地址,由第二接收单元403从该网关设备接收该监控请求对应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息,由确定单元404根据该预设篡改确定信息确定该预设页面内容是否被篡改,得到确定结果;由信息发送单元405向服务器发送包括该预设页面内容以及该确定结果的监控信息,以便该服务器根据该监控信息进行页面劫持监控。该方案可以在正常请求页面地址对应的页面内容之后,向网关设备再次请求该页面地址对应的预设页面内容及其篡改确定信息,并基于篡改确定信息确定预设页面内容是否被篡改,向服务器发送包含篡改确定结果和预设页面内容的监控信息,由服务器基于监控信息进行相应的页面劫持监控;避免了在终端浏览器中进行页面劫持监控,不会受到浏览器解析和渲染逻辑干扰,提高了页面劫持监控的准确度。
此外,本发明实施例提供的页面劫持监控方案还具有覆盖范围广的优点,如可以应用于网页端,跨平台,能够覆盖所有用户使用场景;该页面劫持监控方案还具有无需客户端支持,易于实施及部署的优点;如只需要前端开发相应的功能模块如js模块就能完成上线监控,开发成本低。
实施例五、
为了更好地实施以上方法,本发明实施例还提供了另一种页面劫持监控装置,适用于网关设备,为便于区分称为第二页面劫持监控装置,如图5所示,该网关容灾装置包括:
第一请求接收单元501,用于接收终端发送的页面获取请求,该页面获取请求携带页面地址;
内容发送单元502,用于根据该页面获取请求向该终端返回对应的页面内容;
第二请求接收单元503,用于接收该终端发送的监控请求,该监控请求携带该页面地址;
响应单元504,用于根据该监控请求向该终端返回相应的响应信息,该响应信息包括预设页面内容及其对应的预设篡改确定信息。
比如,内容发送单元502可以将页面获取请求转发给相应的产品服务器或者业务服务器,接收产品服务器或者业务服务器根据该页面获取请求返回的页面内容,然后,将该页面内容转发给终端。
其中,监控请求的头部字段携带监控请求的标识,该标识用于指示请求为监控请求,比如,httpheader即http请求携带的头部字段携带指示该请求为监控请求的标识。
该标识可以根据实际需求设定,如可以为x-gw-sc,具体地格式和意义参考实施例一种的描述。
此时,第二请求接收单元503,可以用于接收该终端发送的请求,并解析该请求的头部字段,当该头部字段携带指示监控请求的标识时,确定该请求为监控请求。
其中,预设页面内容为预置的页面内容,该页面内容可以根据实际需求设定。该预设页面内容可以来自于网关设备本地,而不需要从业务服务器或产品服务器获取,因此,该预设页面内容区别于正常请求的页面内容。
该预设页面内容的属性信息可以根据实际需求设定,其中,属性信息可以包括页面内容的大小、页面内容的类别、页面样式等等。
其中,篡改确定信息,为用于确定预设页面内容是否被篡改的信息,该篡改确定信息可以是预先设置的篡改确定信息,可以根据实际需求设定。比如,该篡改确定信息可以包括预设页面内容对应的预设属性信息等。实际应用中,该篡改确定信息即为预设页面内容的签名,用于鉴别预设页面内容是否被篡改,因此,该篡改确定信息也可以称为签名信息。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该页面劫持监控装置具体可以集成网关设备中,如多层网关设备中等。
由上可知,本发明实施例页面劫持监控装置可以在终端发送监控请求后向终端发送特定的响应信息,包含特定页面内容及其对应的篡改确定信息,以便终端可以基于篡改确定信息确定接受到页面内容是否被篡改,并将特定页面内容以及篡改确定结果上传监控服务器进行页面劫持监控;避免了在终端浏览器中进行页面劫持监控,不会受到浏览器解析和渲染逻辑干扰,提高了页面劫持监控的准确度。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
以上对本发明实施例所提供的一种网关容灾方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。