CN108073828A - 一种网页防篡改方法、装置及*** - Google Patents
一种网页防篡改方法、装置及*** Download PDFInfo
- Publication number
- CN108073828A CN108073828A CN201611010112.0A CN201611010112A CN108073828A CN 108073828 A CN108073828 A CN 108073828A CN 201611010112 A CN201611010112 A CN 201611010112A CN 108073828 A CN108073828 A CN 108073828A
- Authority
- CN
- China
- Prior art keywords
- webpage
- model structure
- document object
- object model
- operation table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
- Document Processing Apparatus (AREA)
Abstract
本申请实施例提供一种网页防篡改方法、装置及***,这三种技术方案采用相同的技术思路,主要利用客户端监听应用的网页的文档对象模型结构变化情况,通过具体变化情况能够在第一时间判断出网页是否被篡改,若判断出网页被篡改则阻断篡改行为,再通知应用根据阻断处理后的文档对象模型结构来展现页面,从而达到防止网页被篡改的目的。本申请技术方案的实现方式简单、复杂度低,从而能够保证网页的响应速度,保证用户享有良好的用户体验。
Description
技术领域
本申请涉及计算机领域,特别涉及一种网页防篡改方法、装置及***。
背景技术
随着互联网和网络应用的普及和发展,大量的黑客攻击随之而来,而篡改网页是黑客攻击的普遍手法,网页被篡改严重时会直接影响网站的正常运行,同时,还会引起恶劣的社会影响和严重的经济损失。
尤其是在电子商务领域中,不同的电子商务平台之间竞争较为激烈,为了争抢更多的用户市场,有的电子商务平台就会通过篡改其他电子商务平台网页的方式,达到诱导用户的目的。例如:电子商务平台A篡改电子商务平台B中的商品详情页面,在该商品详情页面中增加导流控件,以诱导用户在浏览电子商务平台B中的商品详情页面时,可能通过该导流控件直接进入到电子商务平台A中的页面,从而达到导流的目的。
另外,在一个电子商务平台中,同行业的商家之间彼此竞争也较为激烈,有些商家为了吸引更多的用户来购买其店铺商品,也会通过篡改网页的方式诱导用户。例如:商家利用第三方插件对“商品评价页面”进行篡改,生成一些虚假的好评信息,从而达到诱导用户根据这些虚假的评价信息,决定购买商品的目的。
目前,常用的网页防篡改的技术是数字水印技术,该技术主要是通过水印对比的方式,判断网页是否被篡改,如果被篡改,则拒绝对网页的操作请求。由于水印算法的复杂度较高,水印对比的计算量较大,这种方法严重影响网页的响应速度,影响用户体验。
发明内容
本申请所要解决的技术问题是提供一种网页防篡改方法,通过简易高效的网页防篡改方式,降低实现过程的复杂度,从而保证网页的响应速度,保证用户享有良好的用户体验。
另外,为了保证上述方法在实际中的实现以及应用,本申请还提供了一种网页防篡改装置以及一种网页防篡改***。
在本申请第一方面提供了一种网页防篡改方法,该方法应用于客户端,所述客户端与应用相关联,所述应用配置有网络浏览器的功能,该方法包括:
客户端监听网页的文档对象模型结构是否发生变化;
若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;
若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
在本申请第二方面提供了一种网页防篡改方法,该方法应用于服务器,该方法包括:
服务器保存页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
响应于关于操作表的获取请求,提供与网页对应的操作表,以使客户端监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
在本申请第三方面提供了一种网页防篡改***,所述***包括:
终端设备和服务器;
所述终端设备配置有客户端和具有网络浏览器的功能的应用;
所述服务器用于维护页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
所述客户端用于执行以下网页防篡改指令:
监听网页的文档对象模型结构是否发生变化;
若监听到所述文档对象模型结构发生变化,则根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;若不匹配,则阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
在本申请第四方面提供了一种网页防篡改装置,该装置与应用相关联,该装置包括:监听模块、匹配模块、和阻断模块:
其中,监听模块,用于监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则触发匹配模块;
匹配模块,用于根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则触发阻断模块;
阻断模块,用于阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
在本申请第五方面提供了一种网页防篡改装置,该装置包括:
存储模块,用于保存页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
提供模块,用于响应于关于操作表的获取请求,提供与网页对应的操作表,以使客户端监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。与现有技术相比,本申请提供的上述几种技术方案具有以下优点:
在本申请技术方案中,利用客户端监听应用的网页的文档对象模型(DocumentObject Model,DOM)结构变化情况,通过具体变化情况来判断网页是否被篡改,如果是,则客户端阻断该变化,再通知应用基于阻断处理后的DOM结构来展现页面,从而达到防止网页被篡改的目的。由于网页的展现是由渲染引擎基于网页的DOM结构来实现的,因此,任何网页篡改操作均会引起DOM结构的变化,考虑到在实际应用中,页面是允许一些合法改动操作的,因此就需要进一步地判断DOM结构变化是否是非法的,在本申请中,服务器中维护有操作表,该操作表用于记录页面支持的文档对象模型结构的变化情况,即,操作表中记录有页面所支持的合法的改动操作。基于此,在页面展现之前,客户端通过页面的操作表和DOM结构变化情况,就能够判断出该页面是否被篡改,在判断出页面被篡改时,就立刻阻断该篡改行为,再通知应用基于阻断处理后的DOM结构来展现页面,这样就达到网页防篡改的目的。
本申请技术方案仅通过监听、判断等操作就能够解决问题,在实现过程中不需要作大量的计算操作,与现有的数字水印技术相比,本申请技术方案的实现方式简单、复杂度极低,从而能够保证网页的响应速度,保证用户享有良好的用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网页防篡改***的结构示意图;
图2是本申请实施例提供应用于客户端的一种网页防篡改方法的流程示意图;
图3是本申请实施例提供应用于服务端的一种网页防篡改方法的流程示意图;
图4是本申请实施例提供的应用于客户端的一种网页防篡改装置的结构示意图;
图5是本申请实施例提供的应用于服务端的一种网页防篡改装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本申请实施例提供的技术方案,在软件方面,可以通过服务器端-客户端的构架来实现,在硬件方面,可以用到支持应用程序配置和页面显示的设备,如智能手机、平板等设备。因此,对于这种设备,可以将客户端程序安装或者内置于终端设备中,该终端设备与服务器相互配合实现本申请实施例中的功能。如图1所示,客户端1011内置于终端设备101中,终端设备101与服务器102进行数据通信,其中,服务器102主要用于提供数据支持,例如可以维护页面的操作表,并提供给客户端,由客户端为APP提供网页防篡改服务。如图1所示,客户端可以是在受到APP的触发后开始执行监听操作,根据监听结果实现网页防篡改功能。
在实际应用中,一个服务器可以为不同的APP提供关于页面的操作表的管理服务,即,一个服务器可以存储有不同APP的页面的操作表,如图1所示,图1中服务器102中示出的相关页面,如页面1、页面2、页面N可以是归属于不同APP的页面。
当然,一个服务器也可以仅为某一个APP提供管理页面的操作表的服务,该服务器成为该APP的专属服务器,这样,该服务器仅存储有该APP的页面的操作表即可。在这种场景下,为了满足不同APP的网页防篡改的需求,客户端就需要与不同的服务器连接获得不同APP的相关页面的操作表。当然,一个服务器也可以仅存储有某个APP的某个页面的操作表,即,该服务器中仅维护有一个APP的某个页面的操作表。
如图1所示,在终端设备中,可以仅配置有一个客户端1011,利用该客户端为多个APP的提供网页防篡改服务;当然,在实际应用中,在终端设备中,也可以针对不同的APP适应性配置有对应的客户端,这样,一个客户端就仅用于为某一APP提供网页防篡改服务,不同的客户端为不同的APP提供网页防篡改服务。
其中,一个APP可以仅有一个页面被预先配置有操作表;一个应用程序也可以有多个页面被分别配置有对应的操作表。其中,页面对应的操作表可以根据业务实际需求而被重新配置,如该操作表支持修改、删除、增加等可配置操作。则在实际应用中,服务器提供有操作表配置接口,通过该配置接口就能够实现对页面的操作表的配置,如可以直接修改、删除、增加相关节点操作内容,也可以新增或删除某些页面的操作表。操作人员可以在服务器上通过该配置接口直接执行配置操作,也可以在线下完成配置操作,然后将配置好的操作表上传至服务器,以使服务器更新该操作表,例如,服务器接收配置的新页面的操作表,或者更新已有页面的操作表。
在具体实现时,考虑到不同用户对网页有不同的操作权限,则同一网页针对不同的用户所允许的操作也可能不同,基于此需求,服务器也可以针对性存储与用户、网页相对应的操作表,例如:服务器记录页面标识、用户标识与操作表之间的对应关系,基于这些信息为客户端提供与用户、页面相关的操作表。
其中,在实现时,该客户端可以是独立的应用程序,或者,还可以是一些综合性应用程序中的功能模块等,例如,可以是“天猫”、“支付宝”等移动终端APP中的功能模块,等等。
下面先对本申请实施例提供的网页防篡改***进行解释说明。
实施例一
参见图1,图1为本申请实施例提供的一种网页防篡改***的结构示意图,如图1所示,该***包括:终端设备101和服务器102;
所述终端设备配置有客户端和具有网络浏览器的功能的应用;
所述服务器用于维护页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
所述客户端用于执行以下网页防篡改指令:
监听网页的文档对象模型结构是否发生变化;
若监听到所述文档对象模型结构发生变化,则根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;若不匹配,则阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
本申请实施例,在实现时,所述应用还可以被配置为在完成***内网页的文档对象模型结构初始化时,触发所述客户端执行网页防篡改指令。
在本申请实施例中,终端设备中的APP有网页防篡改的需求时,该APP与客户端相关联,该APP可以在完成页面的文档对象模型结构初始化后,触发该客户端执行网页防篡改的相关处理;当然,客户端也可以在APP启动时就执行网页防篡改的相关处理。如果,客户端判断出APP待展现的网页被篡改时,则阻断该篡改行为,然后再通知APP进行页面展现。如果客户端判断出APP待展现的网页未被篡改时,则通知APP进行页面展现。
接下来,从客户端的角度对本申请实施例提供的一种网页防篡改方法进行解释说明。为了便于本领域技术人员理解,下面先对该方法的一种示例性应用场景进行解释说明。
在“淘宝”购物平台上,有些商家为了吸引更多的用户来购买其店铺商品,会通过篡改网页的方式诱导用户。例如:一个服装类商家利用第三方插件对商品的“商品评价页面”进行篡改,生成一些虚假的好评信息,比如,关于一件大衣的商品评价页面,将用户1给出的“差评:实物与图片相差甚远,颜色发暗,衣服线头特别多”修改为“好评:实物与图片一直,颜色亮丽,衣服没有线头”,等等,从而达到利用这些虚假的好评信息,增强用户购买欲望的目的。
当用户使用“淘宝”应用时,浏览商品查看某个商品的“商品评价页面”,进而根据具体的评价信息决定是否购买此商品,在用户点击查看“商品评价页面”时,该“淘宝”应用响应于该查看请求,从服务器获取对应的“商品评价页面”的文档对象模型结构信息,在***内完成DOM结构初始化,一般情况下,当***完成DOM结构初始化之后,就会通过渲染引擎基于该DOM结构渲染该页面,为用户展现该页面,但在本申请实施例中,当***完成DOM结构初始化后,需要先触发客户端执行网页防篡改的相关处理,如果,客户端判断出页面被篡改,则客户端先阻断篡改行为,再通知应用利用渲染引擎基于客户端处理后的DOM结构渲染页面,这样,就能够防止页面被篡改。如果客户端判断出页面未被篡改,则不需要作其他操作,而是直接通知应用利用渲染引擎渲染页面。
关于客户端如何实现网页防篡改的方法,下面通过实施例二进行解释说明。
实施例二
参见图2,图2是本申请实施例提供的一种网页防篡改方法的流程示意图,该方法应用于客户端,该客户端与应用相关联,所述应用配置有网络浏览器的功能,如图1所示,该方法包括:步骤101-步骤104;
在本申请实施例中,应用是指配置有网络浏览器功能的应用,如Web浏览器、配置有web view(网页视图功能)的应用(如:天猫、淘宝等等,具有页面展现功能的应用);这种类型的应用若有网页防篡改需求时,则需要与客户端绑定关联,从而由客户端为其提供网页防篡改服务。
在具体实现时,所述应用在完成***内网页的文档对象模型结构初始化时,触发所述客户端执行该网页防篡改方法。
在具体实现时,客户端可以是一个独立的应用程序,则有网页防篡改需求的其他应用,通过调用应用程序接口的方式,与该客户端相关联。
在具体实现时,客户端也可以是内嵌在有网页防篡改需求的应用的一个功能模块,则该应用在需要时,通过调用该功能模块的方式实现网页防篡改的相关处理。
接下来,对步骤201至步骤204进行说明。
步骤201:客户端监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则执行步骤202和203,否则,执行步骤204。
其中,文档对象模型(Document Object Model,简称DOM)是关于页面上数据和结构的一种树形表示方式;DOM可以以一种独立于平台和语音的方式访问和修改一个页面的内容和结构,这是表示和处理一个HTML或XML文档的常用方法,由于DOM是可以适用于任何编程语言的,DOM技术可以使得页面动态变化,使得页面的交互性大大增强,因此,目前的网页基本都采用这种DOM结构来呈现,DOM可以被JavaScript用来读取、改变HTML、XHTML、以及XML文档。
基于DOM的这些属性特点,若要对页面进行修改,一般都是通过DOM对页面各个节点的进行适应性修改,从而达到调整页面的目的。类似的,若篡改者想要篡改某个页面,也必须是通过DOM对页面进行修改,如通过增加、修改、删除某个节点,等篡改行为来达到篡改页面的目的。因此,在本申请实施例中,通过监听DOM结构是否发生变化的方式,为进一步判断页面是否被篡改提供判断因子。
在具体实现时,所述应用可以配置有针对DOM结构的监听机制,并通过配置突变属性的方式提供监听接口;
其中,突变属性是web应用提供的针对DOM结构变化的监听机制,应用于web前端,通过前端脚本可以直接监听DOM结构变化。在该监听机制中,DOM结构发生变化通过回调方式提供JS运行环境以及相关的节点参数。突变属性API就是web应用为了实现突变属性所提供的一种应用程序调用接口,该接口就可以作为监听接口,客户端通过该监听接口实现监听功能。
在实现时,web应用可以理解为是用于以网页的形式展示web资源的应用,最常用的web应用有web浏览器、具有web view功能的应用等等。则所述客户端就可以通过调用该监听接口的方式,监听文档对象模型结构的变化。
例如:Web浏览器配置有针对DOM结构的监听机制,如果DOM结构有变化,也即是DOM结构出现增加、删除、修改等变化时,该DOM结构变化事件会以冒泡的形式往DOM结构中的根节点传递,在Web浏览器配置完突变属性之后就能够被监听,进而客户端就可以监听到Web浏览器的页面的DOM结构的变化情况。
步骤202:若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;若不匹配,则执行步骤103,若匹配则执行步骤104;其中,所述操作表用于记录页面支持的文档对象模型结构的变化情况。
步骤203:若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
步骤204:若匹配,则客户端通知所述应用基于所述文档对象模型结构展现网页。即,客户端对DOM结构不作任何处理,直接通知客户端基于原DOM结构来展现页面。
在本申请实施例中,操作表可以采用任何数据存储形式存储于服务器中,例如:文档、表格、PDF形式,等等。
在具体实现时,应用在启动后可以向服务器发送操作表获取请求,服务器响应于该获取请求,将对应的操作表提供给应用,然后,应用再将操作表提供的客户端,以便客户端根据操作表实现相应功能。
在具体实现时,客户端可以主动向服务器发送操作表获取请求,服务器响应于该获取请求,将对应的操作表提供给客户端,以便客户端根据操作表实现相应功能。
在具体实现时,客户端可以将DOM结构的变化与操作表进行匹配对比,如果该DOM结构的变化情况与操作表中记录的任何一个节点的变化情况都不匹配,则判断出该DOM结构的变化情况是不被允许的,是由篡改行为所造成的,此时,客户端就阻止这种篡改行为。其中,DOM结构的变化情况至少包括:节点操作类型、节点标识、节点操作内容等一种或者多种内容。其中,节点操作类型包括:添加、移除、改变、重排等等。
下面通过示例来对步骤104的实现进行说明。
示例1:DOM结构中的节点1的节点类型被修改,该变化情况与操作表并不匹配,此时,客户端就拒绝该节点1的节点类型的修改,从而强制性保持节点1的原有类型不变。
示例2:DOM结构中的节点2的上下级连接关系被修改,该变化情况与操作表并不匹配,此时,客户端就拒绝该节点2的修改,强制性保持节点2的原有上下级关系不变。
示例3:DOM结构中新增了节点3,但该新增节点3的类型与操作表记录的内容并不匹配,此时,客户端就禁止该新增操作。
可以理解的是,针对DOM结构变化与操作表不匹配的情况,客户端阻断这种DOM结构变化,实质上是针对具体的DOM结构变化针对性地作出逆操作,以阻止这种DOM结构变化的发生,阻止对页面的改变。
当然,在大部分情况下,DOM结构的变化是***或者用户所发起的合法操作引起的,在这种情况下,应用通过渲染引擎直接渲染页面即可。可以理解的是,客户端在判断出DOM结构的变化与操作表相匹配时,则认为该DOM结构的变化是合法的,此时,则客户端通知所述应用基于所述文档对象模型结构显示所述页面。
为了给应用的维护人员提供有价值的信息,本申请实施例还提供了可选的实现方法,该方法具体是在上述图2方法中的步骤:所述客户端阻断所述文档对象模型结构的变化之后,增加如下步骤:
所述客户端生成对应的篡改日志并记录。
其中,所述篡改日志用于记录以下一个或多个内容:
篡改的操作类型、文件、进程、时间。
通过记录篡改日志的方式,可以方便网站维护人员直观地查询网页被篡改的情况。
在本申请技术方案中,利用客户端监听应用的网页的文档对象模型(DocumentObject Model,DOM)结构变化情况,通过具体变化情况来判断网页是否被篡改,如果是,则客户端阻断该变化,再通知应用基于阻断处理后的DOM结构来展现页面,从而达到防止网页被篡改的目的。由于网页的展现是由渲染引擎基于网页的DOM结构来实现的,因此,任何网页篡改操作均会引起DOM结构的变化,考虑到在实际应用中,页面是允许一些合法改动操作的,因此就需要进一步地判断DOM结构变化是否是非法的,在本申请中,服务器中维护有操作表,该操作表用于记录页面支持的文档对象模型结构的变化情况,即,操作表中记录有页面所支持的合法的改动操作。基于此,在页面展现之前,客户端通过页面的操作表和DOM结构变化情况,就能够判断出该页面是否被篡改,在判断出页面被篡改时,就立刻阻断该篡改行为,再通知应用基于阻断处理后的DOM结构来展现页面,这样就达到网页防篡改的目的。
实施例三
该实施例三是与实施例二相对应的,从服务器的角度,对本申请实施例提供的具体方案进行介绍。
具体的,参见图3,该实施例三提供了一种网页防篡改方法,该方法可以包括以下步骤:
步骤301:服务器保存页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
步骤302:响应于关于操作表的获取请求,提供与网页对应的操作表,以使客户端监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
服务器可以将页面对应的操作表直接提供给客户端,或者,也可以在接收到客户端的操作表获取请求时,再将相关的操作表提供给客户端,客户端在获得相应的操作表后,实现网页防篡改功能。
关于该实施例三中其他的具体实现可以参见前述实施例二中的介绍,这里不再赘述。
实施例四
该实施例四是与实施例二相对应的,对本申请实施例提供的装置进行介绍。具体的,参见图4,该实施例四提供了一种网页防篡改装置,该装置与应用相关联,该装置包括:监听模块401、匹配模块402、和阻断模块403:
其中,监听模块401,用于监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则触发匹配模块;
匹配模块402,用于根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则触发阻断模块;
阻断模块403,用于阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
在具体实现时,所述应用配置有针对文档对象模型结构的监听机制,并通过配置突变属性的方式提供监听接口;
则所述监听模块,具体通过调用该监听接口的方式,监听文档对象模型结构的变化。
在具体实现时,所述装置还可以包括:
日志生成模块,用于生成对应的篡改日志并记录。
其中,所述篡改日志用于记录以下一个或多个内容:
篡改的操作类型、文件、进程、时间。
在具体实现时,所述装置还可以包括:
通知模块;
所述匹配模块在判断监听到的所述文档对象模型结构的变化与所述操作表相匹配时,触发所述通知模块;
所述通知模块,用于通知所述应用基于所述文档对象模型结构显示所述页面。
在实现时,客户端可以是在收受到应用触发后,开始启动各个模块实现各自的功能,从而达到网页防篡改的目的。
实施例五
该实施例五是与实施例三相对应的,对本申请实施例提供的装置进行介绍。具体的,参见图5,该实施例五提供了一种网页防篡改装置,该装置包括:存储模块501和提供模块502;
其中,存储模块501,用于保存页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
提供模块502,用于响应于关于操作表的获取请求,提供与网页对应的操作表,以使客户端监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一、第二、第三、第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种网页防篡改方法、装置及***进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种网页防篡改方法,其特征在于,应用于客户端,所述客户端与应用相关联,所述应用配置有网络浏览器的功能,该方法包括:
客户端监听网页的文档对象模型结构是否发生变化;
若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;
若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
2.根据权利要求1所述的网页防篡改方法,其特征在于,所述应用在完成***内网页的文档对象模型结构初始化时,触发所述客户端执行该网页防篡改方法。
3.根据权利要求1所述的网页防篡改方法,其特征在于,所述应用配置有针对文档对象模型结构的监听机制,并通过配置突变属性的方式提供监听接口;
则所述客户端通过调用该监听接口的方式,监听文档对象模型结构的变化。
4.根据权利要求1所述的网页防篡改方法,其特征在于,在所述客户端阻断所述文档对象模型结构的变化之后,所述方法还包括:
所述客户端生成对应的篡改日志并记录。
5.根据权利要求4所述的网页防篡改方法,其特征在于,
所述篡改日志用于记录以下一个或多个内容:
篡改的操作类型、文件、进程、时间。
6.根据权利要求1所述的网页防篡改方法,其特征在于,所述方法还包括:
若判断监听到的所述文档对象模型结构的变化与所述操作表相匹配,则客户端通知所述应用基于所述文档对象模型结构显示所述页面。
7.一种网页防篡改方法,其特征在于,应用于服务器,该方法包括:
服务器保存页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
响应于关于操作表的获取请求,提供与网页对应的操作表,以使客户端监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
8.根据权利要求7所述的网页防篡改方法,其特征在于,所述方法还包括:
所述服务器接收关于操作表的重置信息,根据所述重置信息更新对应的操作表。
9.根据权利要求7所述的网页防篡改方法,其特征在于,所述服务器为不同的用户,针对同一页面建立不同的操作表;
则所述响应于关于操作表的获取请求,提供与网页对应的操作表,包括:
服务器接收关于操作表的获取请求,该获取请求至少包括:网页标识和用户标识;
从数据库中查找与所述网页标识和用户标识唯一对应的操作表,提供查找到的该操作表。
10.一种网页防篡改***,其特征在于,所述***包括:
终端设备和服务器;
所述终端设备配置有客户端和具有网络浏览器的功能的应用;
所述服务器用于维护页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
所述客户端用于执行以下网页防篡改指令:
监听网页的文档对象模型结构是否发生变化;
若监听到所述文档对象模型结构发生变化,则根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;若不匹配,则阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
11.一种网页防篡改装置,其特征在于,所述装置与应用相关联,所述装置包括:监听模块、匹配模块、和阻断模块:
其中,监听模块,用于监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则触发匹配模块;
匹配模块,用于根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则触发阻断模块;
阻断模块,用于阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
12.一种网页防篡改装置,其特征在于,所述装置包括:
存储模块,用于保存页面对应的操作表,所述操作表用于记录页面支持的文档对象模型结构的变化情况;
提供模块,用于响应于关于操作表的获取请求,提供与网页对应的操作表,以使客户端监听网页的文档对象模型结构是否发生变化;若监听到所述文档对象模型结构发生变化,则客户端根据与该网页对应的操作表,判断监听到的所述文档对象模型结构的变化与所述操作表是否匹配;所述操作表用于记录页面支持的文档对象模型结构的变化情况;若不匹配,则客户端阻断所述文档对象模型结构的变化,通知所述应用根据阻断处理后的文档对象模型结构展现页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611010112.0A CN108073828B (zh) | 2016-11-16 | 2016-11-16 | 一种网页防篡改方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611010112.0A CN108073828B (zh) | 2016-11-16 | 2016-11-16 | 一种网页防篡改方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073828A true CN108073828A (zh) | 2018-05-25 |
CN108073828B CN108073828B (zh) | 2022-02-18 |
Family
ID=62163324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611010112.0A Active CN108073828B (zh) | 2016-11-16 | 2016-11-16 | 一种网页防篡改方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073828B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134901A (zh) * | 2019-04-30 | 2019-08-16 | 哈尔滨英赛克信息技术有限公司 | 一种基于流量分析的多链路网页篡改判定方法 |
CN110188574A (zh) * | 2019-06-06 | 2019-08-30 | 上海帆一尚行科技有限公司 | 一种Docker容器的网页防篡改***及其方法 |
CN110572376A (zh) * | 2019-08-22 | 2019-12-13 | 上海易点时空网络有限公司 | 基于标记跟踪的防网络劫持的方法及终端、服务器 |
CN110572378A (zh) * | 2019-08-22 | 2019-12-13 | 上海易点时空网络有限公司 | 基于标记跟踪的防web劫持的方法及终端、服务器 |
CN110865843A (zh) * | 2018-08-09 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 页面回溯、信息备份与问题解决方法、***及设备 |
CN110909320A (zh) * | 2019-10-18 | 2020-03-24 | 北京字节跳动网络技术有限公司 | 一种网页水印防篡改的方法、装置、介质和电子设备 |
CN111026986A (zh) * | 2018-10-10 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 一种网页水印渲染方法及装置 |
CN111488576A (zh) * | 2020-04-23 | 2020-08-04 | 成都安易迅科技有限公司 | 一种首页篡改的保护方法、***、电子设备及存储介质 |
CN114978710A (zh) * | 2022-05-25 | 2022-08-30 | 中国农业银行股份有限公司 | 网页数据的防篡改处理方法、装置及电子设备 |
CN116383782A (zh) * | 2022-12-02 | 2023-07-04 | 中山市可讯科技有限公司 | 一种网页水印生成、防篡改的方法 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018898A1 (en) * | 2001-07-23 | 2003-01-23 | Lection David B. | Method, system, and computer-program product for providing selective access to certain child nodes of a document object model (DOM) |
CN102129528A (zh) * | 2010-01-19 | 2011-07-20 | 北京启明星辰信息技术股份有限公司 | 一种web网页篡改识别方法及*** |
CN102469113A (zh) * | 2010-11-01 | 2012-05-23 | 北京启明星辰信息技术股份有限公司 | 一种安全网关及其转发网页的方法 |
CN102682098A (zh) * | 2012-04-27 | 2012-09-19 | 北京神州绿盟信息安全科技股份有限公司 | 检测网页内容变更的方法及装置 |
CN103577526A (zh) * | 2013-08-01 | 2014-02-12 | 星云融创(北京)信息技术有限公司 | 一种验证页面是否被修改的方法、***及浏览器 |
CN103605688A (zh) * | 2013-11-01 | 2014-02-26 | 北京奇虎科技有限公司 | 一种网页广告的拦截方法、装置和浏览器 |
CN103685277A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种浏览器访问网页安全保护***及方法 |
CN103885960A (zh) * | 2012-12-20 | 2014-06-25 | 上海明想电子科技有限公司 | 一种监控网页变动的方法 |
US20140283067A1 (en) * | 2013-03-15 | 2014-09-18 | Shape Security Inc. | Detecting the introduction of alien content |
CN104486140A (zh) * | 2014-11-28 | 2015-04-01 | 华北电力大学 | 一种检测网页被劫持的装置及其检测方法 |
CN104517062A (zh) * | 2013-09-26 | 2015-04-15 | 中兴通讯股份有限公司 | 一种基于文档对象模型的分权限文档管理的方法及装置 |
CN104636664A (zh) * | 2013-11-08 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 基于文档对象模型的跨站脚本攻击漏洞检测方法及装置 |
CN105592017A (zh) * | 2014-10-30 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 跨站脚本攻击的防御方法及*** |
CN105630843A (zh) * | 2014-11-17 | 2016-06-01 | 广州市动景计算机科技有限公司 | 网页变化监控方法及装置 |
CN106022135A (zh) * | 2016-02-23 | 2016-10-12 | 北京工业大学 | 一种可动态判断xss漏洞的自动化检测*** |
-
2016
- 2016-11-16 CN CN201611010112.0A patent/CN108073828B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018898A1 (en) * | 2001-07-23 | 2003-01-23 | Lection David B. | Method, system, and computer-program product for providing selective access to certain child nodes of a document object model (DOM) |
CN102129528A (zh) * | 2010-01-19 | 2011-07-20 | 北京启明星辰信息技术股份有限公司 | 一种web网页篡改识别方法及*** |
CN102469113A (zh) * | 2010-11-01 | 2012-05-23 | 北京启明星辰信息技术股份有限公司 | 一种安全网关及其转发网页的方法 |
CN102682098A (zh) * | 2012-04-27 | 2012-09-19 | 北京神州绿盟信息安全科技股份有限公司 | 检测网页内容变更的方法及装置 |
CN103885960A (zh) * | 2012-12-20 | 2014-06-25 | 上海明想电子科技有限公司 | 一种监控网页变动的方法 |
US20140283067A1 (en) * | 2013-03-15 | 2014-09-18 | Shape Security Inc. | Detecting the introduction of alien content |
CN103577526A (zh) * | 2013-08-01 | 2014-02-12 | 星云融创(北京)信息技术有限公司 | 一种验证页面是否被修改的方法、***及浏览器 |
CN104517062A (zh) * | 2013-09-26 | 2015-04-15 | 中兴通讯股份有限公司 | 一种基于文档对象模型的分权限文档管理的方法及装置 |
CN103605688A (zh) * | 2013-11-01 | 2014-02-26 | 北京奇虎科技有限公司 | 一种网页广告的拦截方法、装置和浏览器 |
CN104636664A (zh) * | 2013-11-08 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 基于文档对象模型的跨站脚本攻击漏洞检测方法及装置 |
CN103685277A (zh) * | 2013-12-17 | 2014-03-26 | 南京大学 | 一种浏览器访问网页安全保护***及方法 |
CN105592017A (zh) * | 2014-10-30 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 跨站脚本攻击的防御方法及*** |
CN105630843A (zh) * | 2014-11-17 | 2016-06-01 | 广州市动景计算机科技有限公司 | 网页变化监控方法及装置 |
CN104486140A (zh) * | 2014-11-28 | 2015-04-01 | 华北电力大学 | 一种检测网页被劫持的装置及其检测方法 |
CN106022135A (zh) * | 2016-02-23 | 2016-10-12 | 北京工业大学 | 一种可动态判断xss漏洞的自动化检测*** |
Non-Patent Citations (4)
Title |
---|
BRIAN BURG等: "Explaining Visual Changes in Web Interfaces", 《PROCEEDINGS OF THE 28TH ANNUAL ACM SYMPOSIUM ON USER INTERFACE SOFTWARE & TECHNOLOGY》 * |
CHOKCOCO: "【前端安全】JavaScript防http劫持与XSS", 《HTTPS://WWW.CNBLOGS.COM/COCO1S/P/5777260.HTML》 * |
KARTHIK PATTABIRAMAN等: "DoDOM: Leveraging DOM Invariants for Web 2.0 Application Robustness Testing", 《2010 IEEE 21ST INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING》 * |
孙鹏建: "网页篡改检测模型的研究与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110865843B (zh) * | 2018-08-09 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 页面回溯、信息备份与问题解决方法、***及设备 |
CN110865843A (zh) * | 2018-08-09 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 页面回溯、信息备份与问题解决方法、***及设备 |
CN111026986A (zh) * | 2018-10-10 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 一种网页水印渲染方法及装置 |
CN110134901A (zh) * | 2019-04-30 | 2019-08-16 | 哈尔滨英赛克信息技术有限公司 | 一种基于流量分析的多链路网页篡改判定方法 |
CN110134901B (zh) * | 2019-04-30 | 2023-06-16 | 哈尔滨英赛克信息技术有限公司 | 一种基于流量分析的多链路网页篡改判定方法 |
CN110188574A (zh) * | 2019-06-06 | 2019-08-30 | 上海帆一尚行科技有限公司 | 一种Docker容器的网页防篡改***及其方法 |
CN110572378A (zh) * | 2019-08-22 | 2019-12-13 | 上海易点时空网络有限公司 | 基于标记跟踪的防web劫持的方法及终端、服务器 |
CN110572376B (zh) * | 2019-08-22 | 2021-11-23 | 上海易点时空网络有限公司 | 基于标记跟踪的防网络劫持的方法及终端、服务器 |
CN110572378B (zh) * | 2019-08-22 | 2021-11-23 | 上海易点时空网络有限公司 | 基于标记跟踪的防web劫持的方法及终端、服务器 |
CN110572376A (zh) * | 2019-08-22 | 2019-12-13 | 上海易点时空网络有限公司 | 基于标记跟踪的防网络劫持的方法及终端、服务器 |
CN110909320A (zh) * | 2019-10-18 | 2020-03-24 | 北京字节跳动网络技术有限公司 | 一种网页水印防篡改的方法、装置、介质和电子设备 |
CN111488576A (zh) * | 2020-04-23 | 2020-08-04 | 成都安易迅科技有限公司 | 一种首页篡改的保护方法、***、电子设备及存储介质 |
CN114978710A (zh) * | 2022-05-25 | 2022-08-30 | 中国农业银行股份有限公司 | 网页数据的防篡改处理方法、装置及电子设备 |
CN116383782A (zh) * | 2022-12-02 | 2023-07-04 | 中山市可讯科技有限公司 | 一种网页水印生成、防篡改的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108073828B (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108073828A (zh) | 一种网页防篡改方法、装置及*** | |
US10764290B2 (en) | Governed access to RPA bots | |
Hoofnagle et al. | Behavioral advertising: The offer you can't refuse | |
US10095798B2 (en) | Method for displaying website authentication information and browser | |
CN105610810A (zh) | 一种数据处理方法、客户端和服务器 | |
CN107276775A (zh) | 一种企业群组建立方法及装置 | |
CN110035075A (zh) | 钓鱼网站的检测方法、装置、计算机设备及存储介质 | |
CN105763635A (zh) | 一种信息处理方法、***及服务器 | |
CN102646055B (zh) | 一种***间数据交互的方法 | |
CN107870989A (zh) | 网页生成方法及终端设备 | |
CN104142975B (zh) | 一种基于微博消息的推广方法、装置及*** | |
WO2013132423A1 (en) | Detection and mitigation of on-line advertisement abuse | |
CN105453072B (zh) | 以用户为中心的数据维护 | |
CN107645507A (zh) | 一种数据处理方法、反诈骗设备及计算机可读存储介质 | |
CN106339918A (zh) | 一种订单生成方法及装置 | |
CN108156121A (zh) | 流量劫持的监控方法及装置、流量劫持的报警方法及装置 | |
CN104657359B (zh) | 一种通过网址记录网页内容和式样的方法 | |
CN113190322A (zh) | 页面获取方法、相关设备及介质 | |
JP2022546073A (ja) | サードパーティ・クッキーなしにウェブ・パブリッシャー・インベントリをプログラマティック・エクスチェンジに接続すること | |
CN113949560A (zh) | 网络安全的识别方法、装置、服务器及存储介质 | |
Wicker et al. | Internet advertising: technology, ethics, and a serious difference of opinion | |
CN106649531A (zh) | 一种网页检测方法及装置 | |
CN104461537B (zh) | 一种基于浏览器内核的多业务集成*** | |
CN103051650A (zh) | 基于通讯录的推荐方法和推荐设备 | |
CN105867984A (zh) | 在网页中显示任务状态的方法、装置、客户端和移动设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |