一种页面控制方法及装置与流程

文档序号:25169373发布日期:2021-05-25 14:38阅读:128来源:国知局
一种页面控制方法及装置与流程

本发明涉及信息安全技术及区块链技术领域,尤其涉及一种页面控制方法及装置。



背景技术:

目前,许多网站或者应用程序需要用户输入用户名和密码进行登录,若输入的用户名和密码正确,则网站或者应用程序响应用户的登录请求,允许其登录以提供相应的服务,而此过程中若由于网站或者应用程序主观恶意或被黑客利用等因素,导致用户的用户名和密码容易被泄露,则会对用户的数据安全构成极大威胁。相关技术主要依赖相关用户举报,然而采用此类方法发现密码泄露的周期较长,不能及时避免用户账号的损失。



技术实现要素:

本发明实施例提供一种页面控制方法及装置,能够及时发现网页存在风险,为用户账号提供安全保障。

本发明实施例提供一种页面控制方法,包括:

接收到对应目标统一资源定位符url的目标页面的打开指令,所述打开指令为应用客户端基于所呈现的页面中的页面操作所触发;

响应于所述打开指令,获取所述目标页面对应的页面数据;

基于所述页面数据进行页面渲染,以呈现所述目标页面;

基于所述目标页面,进行目标类型的密码输入框的检测,得到第一检测结果;

当所述第一检测结果表征所述目标页面中存在目标类型的密码输入框时,发送携带所述目标url的通知至所述应用客户端;

所述通知,用于所述应用客户端基于所述目标url,对所述目标页面进行安全性校验,并在校验结果表征所述目标页面存在风险时,对所述目标页面进行安全控制。

本发明实施例提供一种页面控制装置,包括:

接收模块,用于接收到对应目标统一资源定位符url的目标页面的打开指令,所述打开指令为应用客户端基于所呈现的页面中的页面操作所触发;

获取模块,用于响应于所述打开指令,获取所述目标页面对应的页面数据;

渲染模块,用于基于所述页面数据进行页面渲染,以呈现所述目标页面;

检测模块,用于基于所述目标页面,进行目标类型的密码输入框的检测,得到检测结果;

发送模块,用于当所述检测结果表征所述目标页面中存在目标类型的密码输入框时,发送携带所述目标url的通知至所述应用客户端;

所述通知,用于所述应用客户端基于所述目标url,对所述目标页面进行安全性校验,并在校验结果表征所述目标页面存在风险时,对所述目标页面进行安全控制。

上述方案中,所述检测模块,还用于基于所述目标页面,对所述页面数据进行网页密码框元素检测,得到第二检测结果;

当所述第二检测结果表征所述页面数据中存在所述网页密码框元素时,确定所述页面数据中存在相应类型的密码输入框。

上述方案中,所述检测模块,还用于响应于接收到的针对所述密码输入框的密码输入事件,确定响应所述密码输入事件的响应元素;

当所述响应元素为网页密码框元素时,确定所述页面数据中存在相应类型的密码输入框。

上述方案中,所述装置还包括匹配模块,所述匹配模块,用于通过将所述目标url与白名单中的url进行匹配,对所述目标页面进行安全性校验;

当所述目标url不在所述白名单中时,发送携带所述目标url的通知至所述应用客户端。

上述方案中,所述装置还包括控制模块,所述控制模块,用于接收到所述应用客户端确定所述目标页面存在风险时发送的控制指令;

响应于所述控制指令,在接收到针对所述密码输入框的密码输入事件时,对所述密码输入事件进行拦截。

上述方案中,所述控制模块,还用于接收到所述应用客户端确定所述目标页面存在风险时发送的控制指令;

基于所述控制指令,关闭所述目标页面,或发送用于提示所述目标页面存在风险的提示信息。

上述方案中,所述渲染模块,还用于基于所述页面数据,构建对应的文档对象模型树;

对层叠样式表文件进行解析,构建对应的层叠样式表对象模型树;

将所述文档对象模型树及所述层叠样式表对象模型树进行合并,构建对应的渲染树;

对所述渲染树进行布局和绘制,以呈现所述目标页面。

上述方案中,所述装置还包括存储模块,所述存储模块,用于存储所述目标页面的所述检测结果至区块链网络。

本发明实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的页面控制方法。

本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的页面控制方法。

本发明实施例具有以下有益效果:

通过浏览器内核在主动识别到目标页面中的网页密码框元素时,发送携带目标页面的url的通知至应用客户端,使应用客户端基于url对目标页面进行安全性校验,并在校验结果表征目标页面存在风险时,对目标页面进行安全控制;如此,在检测到目标类型的密码输入框时,对目标页面是否存在风险进行校验,并在目标页面存在风险时,对目标页面进行了安全控制,使用户在密码输入框输入密码时无响应,从而实时阻止用户继续输入密码的行为,避免存在风险的目标页面对用户的账号、密码等隐私信息的继续侵害,及时为用户的账号和密码提供安全保障,使用户在访问网页过程中更加放心。

附图说明

图1为本发明实施例提供的页面控制系统的一个可选的架构示意图;

图2为本发明实施例提供的电子设备的一个可选的结构示意图;

图3为本发明实施例提供的页面控制方法的一个可选的流程示意图;

图4为本发明实施例提供的页面控制系统的一个可选的架构示意图;

图5为本发明实施例提供的提示信息呈现的界面示意图;

图6为本发明实施例提供的区块链网络的应用架构示意图;

图7为本发明实施例提供的区块链网络中区块链的结构示意图;

图8为本发明实施例提供的区块链网络的功能架构示意图;

图9为本发明实施例提供的页面控制方法的一个可选的流程示意图;

图10为本发明实施例提供的页面控制方法的一个可选的流程示意图;

图11为本发明实施例提供的页面控制系统的一个可选的架构示意图;

图12为本发明实施例通过的页面控制方法的一个可选的流程示意图;

图13为本发明实施例通过的页面控制装置的一个可选的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。

对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。

1)客户端,终端中运行的用于提供各种服务的应用程序,例如即时通信客户端、直播客户端。

2)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。

3)盗链,网页内容是盗取账号密码的网址。

4)输入事件,虚拟键盘和实体键盘进行输入密码的行为,使操作系统字符输入网页字符的事件。

5)交易(transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。

例如,部署(deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。

6)区块链(blockchain),是由区块(block)形成的加密的、链式的交易的存储结构。

7)区块链网络(blockchainnetwork),通过共识的方式将新区块纳入区块链的一系列的节点的集合。

8)账本(ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(key)值(value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。

9)智能合约(smartcontracts),也称为链码(chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对状态数据库的键值对数据进行更新或查询的操作。

10)共识(consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(pow,proofofwork)、权益证明(pos,proofofstake)、股份授权证明(dpos,delegatedproof-of-stake)、消逝时间量证明(poet,proofofelapsedtime)等。

参见图1,图1为本发明实施例提供的页面控制系统100的一个可选的架构示意图,为实现支撑一个示例性应用,用户终端400上设置有应用客户端,如qq客户端、微信客户端等,应用客户端内嵌或通过接口可调用浏览器内核200;用户终端400通过网络300连接后台服务器500,其中,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。

如图1所示,用户打开用户终端400的应用客户端,通过浏览器内核200打开目标页面,即浏览器内核200用于接收到对应目标url的目标页面的打开指令,响应于打开指令,获取目标页面对应的页面数据;基于页面数据进行页面渲染,以呈现目标页面;基于目标页面,进行目标类型的密码输入框的检测,得到第一检测结果;当第一检测结果表征目标页面中存在目标类型的密码输入框时,发送携带目标url的通知至终端400上的应用客户端;其中,所述通知,用于应用客户端基于目标url,对目标页面进行安全性校验,并在校验结果表征目标页面存在风险时,对目标页面进行安全控制。

更具体地说,终端400上的应用客户端发送目标url的通知至后台服务器500,后台服务器500基于目标url,对目标页面进行安全性校验,并将校验结果发送给终端400,在校验结果表征目标页面存在风险时,终端400上的应用客户端调用浏览器内核200,禁用当前密码输入框的输入事件,使用户在密码输入框输入密码时无响应。

参见图2,图2为本发明实施例提供的电子设备200的一个可选的结构示意图,以电子设备实施为浏览器内核200为例,图2所示的电子设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。终端200中的各个组件通过总线系统240耦合在一起。可理解,总线系统250用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。

处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。

存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。

在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;

呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本发明实施例提供的页面控制装置可以采用软件方式实现,图2示出了存储在存储器250中的页面控制装置255,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块2551、获取模块2552、渲染模块2553、检测模块2554和发送模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。

在另一些实施例中,本发明实施例提供的页面控制装置可以采用硬件方式实现,作为示例,本发明实施例提供的页面控制装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的页面控制方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。

下面将结合本发明实施例提供的页面控制方法实施为浏览器内核时的示例性应用,说明本发明实施例提供的页面控制方法。

参见图3,图3为本发明实施例提供的页面控制方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。

步骤301:浏览器内核接收到对应目标统一资源定位符url的目标页面的打开指令。

其中,所述打开指令为应用客户端基于所呈现的页面中的页面操作所触发。

在实际应用中,浏览器内核是浏览器核心部分之一,用于对网页语法的解释并渲染显页,实现网页的加载、播放视频或播放直播流等,常用的浏览器内核如trident内核、gecko内核、webkit内核、blink内核和腾讯浏览服务(tbs,tencentbrowsingservice)内核等。

在实际实施时,当用户点击目标url,或通过键盘或触屏输入目标url时,会触发对应目标url的目标页面的打开指令,并通过操作系统将该打开指令传递至浏览器内核。

步骤302:响应于打开指令,获取目标页面对应的页面数据。

在实际实施时,浏览器接收到目标url后,会对目标url进行协议、网络地址、资源路径、文件名、动态参数等部分的检查,服务器通过域名解析、tcp连接、浏览器发送超文本传输协议(http,hypertexttransferprotocol)请求、服务器处理http请求之后返回响应报文至浏览器,其中,响应报文包括状态码、响应头和响应正文,如超文本标记语言(html,hypertextmarkuplanguage)、脚本语言(js,javascrip)、叠层样式表(css,cascadingstylesheets)文件、图片等页面数据。

步骤303:基于页面数据进行页面渲染,以呈现目标页面。

在实际应用中,浏览器内核接收到http服务器发送过来的响应报文,并开始解析html文档,进行页面渲染,在一些实施例中,浏览器内核可通过如下方式进行页面渲染:

基于页面数据,构建对应的文档对象模型(dom,documentobjectmodel)树;对层叠样式表文件(css)进行解析,构建对应的层叠样式表对象模型(cssom,cascadingstylesheetsobjectmodel)树;将文档对象模型树及层叠样式表对象模型树进行合并,构建对应的渲染树;对渲染树进行布局和绘制,以呈现目标页面。

在实际实施时,浏览器内核通过对页面数据进行代码解析,得到对应的多个词语;基于各个词语,创建对应的节点;基于各个节点,构建对应的文档对象模型树。在构建渲染树后,根据渲染树为渲染树的各个节点分配坐标,得到对应的位置信息;遍历各个节点的位置信息,绘制渲染树,得到用于呈现的目标页面。

步骤304:基于目标页面,进行目标类型的密码输入框的检测,得到第一检测结果。

在一些实施例中,浏览器内核可通过如下方式进行目标类型的密码输入框的检测:

基于目标页面,对页面数据进行网页密码框元素检测,得到第二检测结果;当第二检测结果表征页面数据中存在网页密码框元素时,确定页面数据中存在相应类型的密码输入框。

在实际实施时,在浏览器内核进行页面渲染时,识别页面数据中是否存在网页密码元素,例如,qq客户端通过tbs内核打开目标url,tbs内核在进行页面渲染时,当开始渲染htmlinputelement元素过程中,如果htmlinputelement的类型为inputtypenames::password时,则认为页面数据中有密码输入框。

在一些实施例中,浏览器内核还可通过如下方式进行目标类型的密码输入框的检测:

响应于接收到的针对密码输入框的密码输入事件,确定响应密码输入事件的响应元素;当响应元素为网页密码框元素时,确定页面数据中存在相应类型的密码输入框。

在实际实施时,如果浏览器内核并没有从页面数据识别到网页密码元素,就完成了页面的渲染,并呈现了目标页面,则当用户在目标页面呈现的密码输入框输入密码时,会触发针对密码输入框的密码输入事件,浏览器内核基于接收到该输入事件的响应元素进行密码输入框的检测。

例如,用户在终端上呈现的qq登录页面上的密码输入框输入密码时,浏览器内核接收到对应密码输入框的密码输入事件,如果该密码输入事件响应的元素是htmlinputelement,且类型为inputtypenames::password时,则认为页面数据中存在密码输入框。

步骤305:当第一检测结果表征目标页面中存在目标类型的密码输入框时,发送携带目标url的通知至应用客户端。

其中,所述通知,用于应用客户端基于目标url,对目标页面进行安全性校验,并在校验结果表征目标页面存在风险时,对目标页面进行安全控制。

参见图4,图4为本发明实施例提供的页面控制系统的一个可选的架构示意图,通过浏览器内核打开目标url,在确定目标页面中存在目标类型的密码输入框时,上报携带目标url的通知至应用客户端,应用客户端将携带目标url的通知发送至后台服务器,以使后台服务器基于携带url的通知对目标页面进行安全性校验,得到并返回校验结果至应用客户端,应用客户端基于校验结果生成控制指令,并将控制指令发送至浏览器内核对目标页面进行控制。

在一些实施例中,浏览器内核也可先自行判断目标页面是否存在风险,例如,通过将目标url与白名单中的url进行匹配,对目标页面进行安全性校验;当目标url不在白名单中时,发送携带目标url的通知至应用客户端,应用客户端与应用的后台服务器进行交互以进一步判断目标页面是否存在风险。

例如,后台服务器解析接收到的通知,得到目标url,并将得到的目标url与预存的包括合法页面的白名单进行匹配,当目标url与白名单中的url匹配成功时,确定目标页面为安全页面;当目标url与白名单中的url匹配失败,也即目标url不在白名单中时,确定目标页面存在风险。

在实际实施时,应用后台服务器将目标页面是否安全的校验结果返回给应用客户端,应用客户端根据校验结果的不同而执行相应的操作,当校验结果表征目标页面存在风险时,应用客户端生成对目标页面进行控制的控制指令,并将控制指令发送给浏览器内核。

相应地,在一些实施例中,浏览器内核接收到应用客户端确定目标页面存在风险时发送的控制指令;响应于所述控制指令,在接收到针对密码输入框的密码输入事件时,对密码输入事件进行拦截。

这里,还以应用客户端为qq客户端为例进行说明,当qq客户端与qq后台服务器进行交互,确定目标页面存在风险时,qq客户端生成对应目标页面的控制指令,调用tbs内核接口,tbs内核接收到控制指令,对密码输入事件进行拦截,即禁用当前密码输入框事件,使用户在密码输入框输入密码时无任何响应。

在一些实施例中,浏览器内核接收到应用客户端确定目标页面存在风险时发送的控制指令;基于所述控制指令,关闭目标页面,或发送用于提示目标页面存在风险的提示信息。

这里,在实际应用中,当浏览器内核接收到应用客户端确定目标页面存在风险时发送的控制指令,基于控制指令,关闭目标页面,如此,当用户打开存在风险的目标页面或对呈现的存在风险的目标页面的密码输入框输入密码时,自动关闭该目标页面,避免用户输入密码,为用户的账号密码保驾护航。

在一些实施例中,浏览器还可基于接收到的控制指令,发送用于提示目标页面存在风险的提示信息,如此,提示信息呈现在目标页面上,参见图5,图5为本发明实施例提供的提示信息呈现的界面示意图,如图5所示,应用客户端上呈现提示信息,以提示用户目标页面存在风险,避免用户继续输入密码,从而避免密码的泄露。

通过上述方式,浏览器内核在主动识别到目标页面中的网页密码框元素时,发送携带目标页面的url的通知至应用客户端,使应用客户端基于url对目标页面进行安全性校验,并在校验结果表征目标页面存在风险时,对目标页面进行安全控制;如此,在检测到目标类型的密码输入框时,对目标页面是否存在风险进行校验,并在目标页面存在风险时,对目标页面进行了安全控制,使用户在密码输入框输入密码时无响应,从而实时阻止用户继续输入密码的行为,避免存在风险的目标页面对用户的账号、密码等隐私信息的继续侵害,及时为用户的账号和密码提供安全保障,使用户在访问网页过程中更加放心。

在一些实施例中,当通过浏览器内核打开目标url时,浏览器内核在得到目标页面是否含有目标类型的密码输入框的第一检测结果后,结合区块链技术,生成用于存储第一检测结果的交易,提交生成的交易至区块链网络的节点,以使所述节点对交易共识后存储第一检测结果至区块链网络;当用户再次在应用客户端输入或打开对应该url的目标页面,需要获取目标页面是否含有目标类型的密码输入框的检测结果时,浏览器内核可生成用于获取目标页面是否含有目标类型的密码输入框的检测结果的交易,提交生成的交易至区块链网络的节点,以使节点对交易共识后返回该目标页面的第一检测结果,如此,直接从区块链网络获取存储的第一检测结果,无需浏览器内核再次对目标页面进行目标类型的密码输入框的检测。

接下来对本发明实施例中的区块链网络进行说明。参见图6,图6为本发明实施例提供的区块链网络的应用架构示意图,包括业务主体400、认证中心700,区块链网600(示例性示出了共识节点610-1至共识节点610-3),下面分别说明。

区块链网络600的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络600;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络600,此时,如成为区块链网络600中的客户端节点,这里客户端指示应用客户端。

在一些实施例中,客户端节点可以只作为区块链网络600的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络600的共识节点610的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络600中,通过区块链网络600实现数据和业务处理过程的可信和可追溯。

区块链网络600中的共识节点接收来自不同业务主体(例如图6中示出的业务主体400)的客户端节点(例如,图6中示出的归属于业务主体400的客户端节点410提交的交易,执行交易以存储目标页面的第一检测结果,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。

例如,客户端节点410可以订阅区块链网络600中感兴趣的事件,例如区块链网络600中特定的组织/通道中发生的交易,由共识节点610推送相应的交易通知到客户端节点410,从而触发客户端节点410中相应的业务逻辑。

以业务主体接入区块链网络以实现对应目标页面的第一检测结果的获取为例说明区块链的示例性应用。

参见图6,业务主体400为应用客户端,从认证中心700进行登记注册获得数字证书,数字证书中包括业务主体的公钥、以及认证中心700对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络600请求接入而成为客户端节点。

业务主体400的客户端节点410用于在用户再次输入或打开对应该url的目标页面时,生成用于获取该目标页面是否含有目标类型的密码输入框的第一检测结果的交易,在交易中指定了实现获取操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点410的数字证书、签署的数字签名(例如,使用客户端节点410的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络600中的共识节点610。

区块链网络600中的共识节点610中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体400的身份,确认业务主体400是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点610自己的数字签名(例如,使用节点610-1的私钥对交易的摘要进行加密得到),并继续在区块链网络600中广播。

区块链网络600中的共识节点610接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络600中的共识节点610广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交的获取目标页面是否含有目标类型的密码输入框的第一检测结果的交易,在状态数据库中查询对应目标页面是否含有目标类型的密码输入框的第一检测结果的键值对,并返回交易结果。

作为区块链的示例,参见图7,图7为本发明实施例提供的区块链网络600中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。

下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图8,图8为本发明实施例提供的区块链网络600的功能架构示意图,包括应用层601、共识层602、网络层603、数据层604和资源层605,下面分别进行说明。

资源层605封装了实现区块链网路600中的各个节点610的计算资源、存储资源和通信资源。

数据层604封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。

网络层603封装了点对点(p2p,pointtopoint)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。

其中,p2p网络协议实现区块链网络600中节点610之间的通信,数据传播机制保证了交易在区块链网络600中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点610之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络600的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络600的权限;业务主体身份管理用于存储允许接入区块链网络600的业务主体的身份、以及权限(例如能够发起的交易的类型)。

共识层602封装了区块链网络600中的节点610对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括pos、pow和dpos等共识算法,支持共识算法的可插拔。

交易管理用于验证节点610接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络600的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。

账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据业务主体的账号(序列号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。

应用层601封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。

接下来继续对本发明实施例提供的页面控制方法进行介绍,终端上设置有应用客户端,应用客户端内嵌浏览器内核或通过调用浏览器内核来打开目标页面,以浏览器内核实施为例,图9为本发明实施例提供的页面控制方法的一个可选的流程示意图,参见图9,本发明实施例提供的页面控制方法包括:

步骤901:应用客户端响应于用户对应目标url的目标页面的点击操作,生成打开指令。

在实际应用中,用户点击目标url,或通过键盘或触屏输入目标url时,会触发应用客户端生成对应目标url的目标页面的打开指令。

步骤902:应用客户端发送打开指令至浏览器内核。

步骤903:浏览器内核接收到打开指令。

步骤904:浏览器内核响应于打开指令,获取目标页面对应的页面数据。

这里,在实际实施时,浏览器接收到目标url后,会对目标url进行协议、网络地址、资源路径、文件名、动态参数等部分的检查,服务器通过域名解析、tcp连接、浏览器发送超文本传输协议(http,hypertexttransferprotocol)请求、服务器处理http请求之后返回响应报文至浏览器,其中,响应报文包括状态码、响应头和响应正文,如超文本标记语言(html,hypertextmarkuplanguage)、脚本语言(js,javascrip)、叠层样式表(css,cascadingstylesheets)文件、图片等页面数据。

步骤905:浏览器内核基于所述页面数据进行页面渲染,以呈现目标页面;

步骤906:基于所述目标页面对所述页面数据进行网页密码框元素检测,得到检测结果。

这里,在实际实施时,在浏览器内核进行页面渲染时,识别页面数据中是否存在网页密码元素,例如,qq客户端通过tbs内核打开目标url,tbs内核在进行页面渲染时,当开始渲染htmlinputelement元素过程中,如果htmlinputelement的类型为inputtypenames::password时,则认为页面数据中有密码输入框。

步骤907:当检测结果表征页面数据中存在网页密码框元素时,浏览器内核发送携带目标url的通知至应用客户端。

其中,所述通知,用于应用客户端基于目标url,对目标页面进行安全性校验,并在校验结果表征目标页面存在风险时,对目标页面进行安全控制。

这里,在实际实施时,当浏览器内核确定目标页面中存在目标类型的密码输入框时,发送携带目标url的通知至应用客户端,由应用客户端与后台服务器进行交互,以确定当前目标页面是否存在风险。

步骤908:应用客户端发送携带目标url的通知至后台服务器。

步骤909:后台服务器将目标url与白名单中的url进行匹配,得到匹配结果。

步骤910:后台服务器将匹配结果返回至应用客户端。

步骤911:当匹配结果表征目标url不在白名单中时,应用客户端生成对目标页面进行控制的控制指令。

在实际实施时,应用客户端接收到对应目标页面是否安全的校验结果时,根据校验结果的不同而执行相应的操作,当校验结果表征目标页面存在风险时,应用客户端生成对目标页面进行控制的控制指令,并将控制指令发送给浏览器内核。

步骤912:应用客户端响应于用户针对密码输入框的输入操作,发送控制指令至浏览器内核。

步骤913:浏览器内核响应于控制指令,在接收到针对密码输入框的密码输入事件时,对密码输入事件进行拦截。

这里,以应用客户端为qq客户端为例进行说明,当qq客户端与qq后台服务器进行交互,确定目标页面存在风险时,qq客户端生成对应目标页面的控制指令,调用tbs内核接口,tbs内核接收到控制指令,对密码输入事件进行拦截,即禁用当前密码输入框事件,使用户在密码输入框输入密码时无任何响应。

通过上述方式,当目标页面存在风险时,对目标页面进行了安全控制,使用户在密码输入框输入密码时无响应,从而实时阻止用户继续输入密码的行为,避免存在风险的目标页面对用户的账号、密码等隐私信息的继续侵害,及时为用户的账号和密码提供安全保障,使用户在访问网页过程中更加放心。

接下来继续对本发明实施例提供的页面控制方法进行介绍,终端上设置有应用客户端,应用客户端内嵌浏览器内核或通过调用浏览器内核来打开目标页面,以浏览器内核实施为例,图10为本发明实施例提供的页面控制方法的一个可选的流程示意图,参见图10,本发明实施例提供的页面控制方法包括:

步骤1001:应用客户端响应于用户对应目标url的目标页面的点击操作,生成打开指令。

这里,在实际应用中,用户点击目标url,或通过键盘或触屏输入目标url时,会触发应用客户端生成对应目标url的目标页面的打开指令。

步骤1002:应用客户端发送打开指令至浏览器内核。

步骤1003:浏览器内核接收到打开指令。

步骤1004:浏览器内核响应于打开指令,获取目标页面对应的页面数据。

步骤1005:浏览器内核基于页面数据进行页面渲染,以呈现目标页面。

这里,在实际实施时,浏览器内核通过对页面数据进行代码解析,得到对应的多个词语;基于各个词语,创建对应的节点;基于各个节点,构建对应的dom树;对css进行解析,构建对应的cssom树;将dom树及cssom树进行合并,构建对应的渲染树,根据渲染树为渲染树的各个节点分配坐标,得到对应的位置信息;遍历各个节点的位置信息,绘制渲染树,得到用于呈现的目标页面。

步骤1006:浏览器内核响应于接收到的针对密码输入框的密码输入事件,确定响应密码输入事件的响应元素。

这里,在实际实施时,如果浏览器内核并没有从页面数据识别到网页密码元素,就完成了页面的渲染,并呈现了目标页面,则当用户在目标页面呈现的密码输入框输入密码时,会触发针对密码输入框的密码输入事件,浏览器内核基于接收到该输入事件的响应元素来进行密码输入框的检测。

例如,用户在终端上呈现的qq登录页面上的密码输入框输入密码时,浏览器内核接收到对应密码输入框的密码输入事件,如果该密码输入事件响应的元素是htmlinputelement,且类型为inputtypenames::password时,则认为页面数据中存在密码输入框。

步骤1007:当响应元素为网页密码框元素时,浏览器内核确定页面数据中存在相应类型的密码输入框。

步骤1008:浏览器内核发送携带目标url的通知至应用客户端。

其中,所述通知,用于应用客户端基于目标url,对目标页面进行安全性校验,并在校验结果表征目标页面存在风险时,对目标页面进行安全控制。

这里,在实际实施时,当浏览器内核确定目标页面中存在目标类型的密码输入框时,发送携带目标url的通知至应用客户端,由应用客户端与后台服务器进行交互,以确定当前目标页面是否存在风险。

步骤1009:应用客户端发送携带目标url的通知至后台服务器。

步骤1010:后台服务器将目标url与白名单中的url进行匹配,得到匹配结果。

步骤1011:后台服务器将匹配结果返回至应用客户端。

步骤1012:当匹配结果表征目标url不在白名单中时,应用客户端生成对目标页面进行控制的控制指令。

在实际实施时,应用客户端接收到对应目标页面是否安全的校验结果时,根据校验结果的不同而执行相应的操作,当校验结果表征目标页面存在风险时,应用客户端生成对目标页面进行控制的控制指令,并将控制指令发送给浏览器内核。

步骤1013:应用客户端响应于用户针对密码输入框的输入操作,将控制指令发送至浏览器内核。

步骤1014:浏览器内核基于控制指令,生成用于提示目标页面存在风险的提示信息。

步骤1015:浏览器内核发送提示信息至应用客户端。

步骤1016:应用客户端呈现提示信息。

通过上述方式,对于存在风险的目标页面,目标页面的显示界面上呈现提示信息,如此,可提示用户目标页面存在风险,避免用户继续输入密码,从而避免密码的泄露。

下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。

本发明实施例通过的页面控制方法适用于防止盗取账号密码,同时也适用于需要识别网页中的视频、图片、文章等元素,主动上报,由浏览器使用方确认当前页面是否是违规页面,从而实时阻止违规页面对用户的账号、隐私等信息的继续侵害。接下来以防止盗取qq账号密码为例对本发明实施例的页面控制方法进行介绍。

在实际实施时,qq客户端使用tbs打开url,当url为盗链时,如果url所显示的页面中有密码输入框,由tbs上报给qq客户端,由qq客户端跟qq后台服务器交互,确认当前页面是否为盗链页面(即页面存在风险);如果是盗链页面,由qq客户端调用tbs内核接口,禁用当前密码框输入事件,使用户在密码框输入密码时无任何响应。

参见图11,图11为本发明实施例提供的页面控制系统的一个可选的架构示意图,如图11所示,本发明实施例提供的页面控制系统由tbs内核层、tbs接口层、应用客户端(即tbs使用方)、后台服务器(即tbs使用方的后台服务器)等几部分组成。

本发明实施例提供的页面控制方法核心在于,tbs内核识别网页中的密码输入框与对应密码输入框的密码输入事件,在实际实施时,基于图11所示的页面控制系统的架构,图12为本发明实施例通过的页面控制方法的一个可选的流程示意图,将结合图11和图12示出的步骤进行说明。

步骤1201:qq客户端响应于用户对应目标url的网页的点击操作,生成打开指令。

在实际应用中,qq用户点击目标url,或通过键盘或触屏输入目标url时,会触发qq客户端生成对应目标url的网页的打开指令。

步骤1202:qq客户端发送打开指令至tbs内核。

这里,在实际应用中,qq客户端内嵌有tbs内核,或通过调用tbs内核获取网页对应的页面数据,并基于获取到的页面数据进行页面渲染,以呈现目标页面。

步骤1203:tbs内核识别网页中的密码输入框。

这里,在实际实施时,qq客户端通过tbs内核打开目标url,tbs内核在进行页面渲染时,当开始渲染htmlinputelement元素过程中,如果htmlinputelement的类型为inputtypenames::password时,则认为网页中有密码输入框。

或者,tbs内核在渲染页面的过程中,并没有从页面数据中识别到网页密码元素,就完成了页面的渲染,并呈现qq登录页面时,即用户在终端上呈现的qq登录页面上的密码输入框输入密码时,浏览器内核接收到对应密码输入框的密码输入事件,如果该密码输入事件响应的元素是htmlinputelement,且类型为inputtypenames::password时,则认为网页中存在密码输入框。

步骤1204:判断是否存在密码输入框。

这里,当网页中存在密码输入框时,执行步骤1205;当网页中不存在密码输入框时,执行步骤1210;

步骤1205:tbs内核发送携带目标url的通知至qq客户端。

其中,所述通知,用于qq客户端与后台服务器进行交互,基于目标url对网页进行安全性校验(即判断是否为盗链网页)。

步骤1206:qq客户端发送携带目标url的通知至后台服务器。

步骤1207:后台服务器判断网页是否为盗链网页。

这里,在实际应用中,后台服务器可将目标url与白名单中的url进行匹配,得到匹配结果,当匹配结果表征目标url在白名单中时,认为目标url对应的网页是安全的(即不是盗链网页),此时,执行步骤1210;匹配结果表征目标url不在白名单中时,认为目标url对应的网页是不安全的(即违规网页,也即盗链网页),此时,执行步骤1208。

步骤1208:qq客户端调用tbs接口。

步骤1209:tbs内核禁用密码输入框输入密码功能。

步骤1210:继续浏览网页。

步骤1211:关闭页面。

如此,当用户打开存在风险的网页或对呈现的存在风险的网页中的密码输入框输入密码时,自动关闭该目标页面,避免用户输入密码,为用户的账号密码保驾护航。

通过上述方式,提高了处理盗链的效率,为qq账号等安全提供保障,使用户在使用qq访问网页过程中更加放心。

下面继续说明本发明实施例提供的页面控制装置255实施为软件模块的示例性结构,在一些实施例中,如图2及图13所示,存储器250中的页面控制装置255包括以下软件模块:接收模块2551、获取模块2552、渲染模块2553、检测模块2554和发送模块2555。

接收模块2551,用于接收到对应目标统一资源定位符url的目标页面的打开指令,所述打开指令为应用客户端基于所呈现的页面中的页面操作所触发;

获取模块2552,用于响应于所述打开指令,获取所述目标页面对应的页面数据;

渲染模块2553,用于基于所述页面数据进行页面渲染,以呈现所述目标页面;

检测模块2554,用于基于所述目标页面,进行目标类型的密码输入框的检测,得到检测结果;

发送模块2555,用于当所述检测结果表征所述目标页面中存在目标类型的密码输入框时,发送携带所述目标url的通知至所述应用客户端;

所述通知,用于所述应用客户端基于所述目标url,对所述目标页面进行安全性校验,并在校验结果表征所述目标页面存在风险时,对所述目标页面进行安全控制。

在一些实施例中,所述检测模块,还用于基于所述目标页面,对所述页面数据进行网页密码框元素检测,得到第二检测结果;

当所述第二检测结果表征所述页面数据中存在所述网页密码框元素时,确定所述页面数据中存在相应类型的密码输入框。

在一些实施例中,所述检测模块,还用于响应于接收到的针对所述密码输入框的密码输入事件,确定响应所述密码输入事件的响应元素;

当所述响应元素为网页密码框元素时,确定所述页面数据中存在相应类型的密码输入框。

在一些实施例中,所述装置还包括匹配模块,所述匹配模块,用于通过将所述目标url与白名单中的url进行匹配,对所述目标页面进行安全性校验;

当所述目标url不在所述白名单中时,发送携带所述目标url的通知至所述应用客户端。

在一些实施例中,所述装置还包括控制模块,所述控制模块,用于接收到所述应用客户端确定所述目标页面存在风险时发送的控制指令;

响应于所述控制指令,在接收到针对所述密码输入框的密码输入事件时,对所述密码输入事件进行拦截。

在一些实施例中,所述控制模块,还用于接收到所述应用客户端确定所述目标页面存在风险时发送的控制指令;

基于所述控制指令,关闭所述目标页面,或发送用于提示所述目标页面存在风险的提示信息。

在一些实施例中,所述渲染模块,还用于基于所述页面数据,构建对应的文档对象模型树;

对层叠样式表文件进行解析,构建对应的层叠样式表对象模型树;

将所述文档对象模型树及所述层叠样式表对象模型树进行合并,构建对应的渲染树;

对所述渲染树进行布局和绘制,以呈现所述目标页面。

在一些实施例中,所述装置还包括存储模块,所述存储模块,用于存储所述目标页面的所述检测结果至区块链网络。

本发明实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的页面控制方法。

本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的页面控制方法。

在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

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