安全访问方法、系统及可读存储介质与流程
未命名
08-29
阅读:72
评论:0

1.本技术实施例涉及网络安全技术领域,特别涉及一种安全访问方法、系统及可读存储介质。
背景技术:
2.目前,远程隔离浏览器(remote browser isolation,rbi)是一种实现安全上网的常见技术。
3.基于rbi技术的上网方式中,设置一个代理服务器,代理服务器上设置远程隔离浏览器,该远程隔离浏览器为客户端浏览器和源服务器之间沟通的桥梁。上网过程中,客户端浏览器的访问请求经过远程隔离浏览器转发给源服务器,源服务器返回的资源先在远程隔离浏览器上进行加载,代理服务器将远程隔离浏览器加载资源得到的页面,通过像素流推送的方式返回给客户端浏览器,由客户端浏览器根据像素流进行页面重建。
4.然而,由于客户端浏览器仅根据像素流进行页面重建,使得客户端浏览器呈现的都是图片,导致用户上网过程中无法正常输入,进而导致用户上网不便。
技术实现要素:
5.本技术实施例提供一种安全访问方法、系统及可读存储介质,当用户访问涉及需要进行输入的网站页面时,在客户端浏览器上显示模拟焦点元素,使得用户能够在视觉类绘制页面上进行本地输入,提高网络安全性的同时确保用户能够顺利、方便的上网。
6.第一方面,本技术实施例提供一种安全访问方法,应用于终端设备,该方法包括:
7.在客户端浏览器的用户界面通过绘制方式显示第一页面;
8.在所述第一页面上创建输入框;
9.当监听到用户对所述第一页面的操作事件后,向代理服务器发送所述操作事件;
10.接收来自所述代理服务器的指示消息,所述指示消息是所述代理服务器上的远程隔离浏览器接收到所述操作事件后发送的;
11.根据所述指示消息将所述输入框设置为焦点。
12.第二方面,本技术实施例提供一种安全访问方法,应用于代理服务器,该方法包括:
13.接收来自终端设备的操作事件,所述操作事件是终端设备监听到的用户对第一页面的操作事件,所述第一页面是所述终端设备上的客户端浏览器通过绘制方式显示的页面;
14.根据所述操作事件向所述终端设备发送指示消息,以使得所述终端设备将所述第一页面上的输入框设置为焦点。
15.第三方面,本技术实施例提供一种安全访问装置,集成在终端设备上,该装置包括:
16.显示模块,用于在客户端浏览器的用户界面通过绘制方式显示第一页面;
17.处理模块,用于在所述第一页面上创建输入框;
18.发送模块,用于当所述处理模块监听到用户对所述第一页面的操作事件后,向代理服务器发送所述操作事件;
19.接收模块,用于接收来自所述代理服务器的指示消息,所述指示消息是所述代理服务器上的远程隔离浏览器接收到所述操作事件后发送的;
20.所述处理模块,还用于根据所述指示消息将所述输入框设置为焦点。
21.第四方面,本技术实施例提供一种安全访问装置,集成在代理服务器上,该装置包括:
22.接收模块,用于接收来自终端设备的操作事件,所述操作事件是终端设备监听到的用户对第一页面的操作事件,所述第一页面是所述终端设备上的客户端浏览器通过绘制方式显示的页面;
23.发送模块,用于根据所述操作事件向所述终端设备发送指示消息,以使得所述终端设备将所述第一页面上的输入框设置为焦点。
24.第五方面,本技术实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面或第一方面各种可能的实现方式所述的方法。
25.第六方面,本技术实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第六方面或第六方面各种可能的实现方式所述的方法。
26.第七方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第一方面或第一方面各种可能的实现方式所述的方法。
27.第八方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第二方面或第二方面各种可能的实现方式所述的方法。
28.第九方面,本技术实施例提供一种包含计算程序的计算机程序产品,所述计算机程序被处理器执行时实现如上第一方面或第一方面各种可能的实现方式所述的方法。
29.第十方面,本技术实施例提供一种包含计算程序的计算机程序产品,所述计算机程序被处理器执行时实现如上第二方面或第二方面各种可能的实现方式所述的方法。
30.第十一方面,本技术实施例提供一种安全访问系统,包括终端设备和代理服务器,终端设备用于实现如上第一方面或第一方面各种可能的实现方式所述的方法,代理服务器用于实现如上第二方面或第二方面各种可能的实现方式所述的方法。
31.本技术实施例提供的安全访问方法、系统及可读存储介质,终端设备上的客户端浏览器的用户界面上通过绘制方式显示第一页面,在第一页面上创建输入框。当监听到用户对第一页面的操作事件后,将操作事件发送给代理服务器。代理服务器根据操作事件确定目标控件,并确定目标控件是否具有编辑属性。若目标控件具有编辑属性,则指示终端设备上的客户端浏览器将输入框设置为焦点,这样一来,用户就能够在输入框内随意输入英文、数字、非英字符、非数字字符等。采用该种方案,在客户端浏览器上显示模拟焦点元素,使得用户能够在视觉类绘制页面上进行本地输入,提高网络安全性的同时确保用户能够顺
利上网。
附图说明
32.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是本技术实施例提供的安全访问方法所适用的网络架构示意图;
34.图2是本技术实施例提供的安全访问方法所适用的另一个网络架构示意图;
35.图3是本技术实施例提供的安全访问方法的流程图;
36.图4是本技术实施例提供的安全访问方法中第一页面的一个示意图;
37.图5是本技术实施例提供的安全访问方法中利用目标内容更新目标控件的流程图;
38.图6是本技术实施例提供的安全访问方法中回显示意图;
39.图7a是是本技术实施例提供的安全访问方法的又一个网络架构示意图;
40.图7b是图7a对应的流程图;
41.图8为本技术实施例提供的一种安全访问装置的示意图;
42.图9为本技术实施例提供的一种安全访问装置的示意图;
43.图10为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
44.网络安全中,web安全一直是主要研究的方向。由于web服务具有开放性、源服务器技术多样性以及终端环境复杂性等特点,使得web服务面临较多的安全风险。其中,源服务器技术多样性是指:基于超文本传输协议(hyper text transfer protocol,http)等技术提供源服务器,随着http技术的发展,源服务器的实现方式不同。终端环境复杂性是指:终端设备的种类多种多样,如台式机、手机、pad等,操作系统也多种多样,包括安卓、windows、linux等。
45.rbi技术是一种保障web访问安全的有效手段。rbi的特点是:将源服务器提供的web服务通过统一的安全边缘隔离环境加载,并将加载后的视觉结果传到访问终端,终端再以统一的安全架构对视觉结果进行显示。该过程中,终端设备不体现源服务器的任何代码。
46.终端设备上的客户端浏览器绘制并显示视觉结果后,若用户输入键盘上的单个字符或数字等,由于客户端浏览器会把输入事件传递给远程隔离浏览器,因此,远程隔离浏览器会更新视觉结果并返回给终端设备,供客户端浏览器更新当前页面。例如,客户端浏览器显示视觉结果后,用户按压键盘上的字母a,这个事件传递到远程隔离浏览器那边后,会在远程隔离浏览器的输入框内显示a。由于视觉结果发生变化,因此,远程隔离浏览器将新的视觉结果的像素流发送给客户端浏览器,使得客户端浏览器更新视觉结果。
47.然而,当用户输入中文等非键盘字符时,比如,用户利用拼音输入法输入“夜”,依次按压y、e和空格(夜是拼音为ye的第一个字时,按压空格或数字键1均可),则无法触发当前页面更新。
48.根据上述可知:基于rbi技术,终端设备不体现源服务器的任何代码,这就导致终端设备上的客户端浏览器界面上呈现的都是图片,客户端浏览器界面上没有原始站点的文档对象模型(document object model,dom),使得本地输入法无法生效,导致用户无法输入键盘上字符键对应的单个字符或数字键对应的单个数字以外的内容,如中文、日文等,进而导致用户无法上网。
49.基于此,本技术实施例提供一种安全访问方法、设备及可读存储介质,当用户访问需要进行输入的网站页面时,在客户端浏览器上利用输入框显示模拟焦点元素,使得用户能够在视觉类绘制页面上进行本地输入,提高网络安全性的同时确保用户能够顺利、方便的上网。
50.图1是本技术实施例提供的安全访问方法所适用的网络架构示意图。请参照图1,该网络架构包括终端设备11、代理服务器12和源服务器13。代理服务器12和终端设备11之间建立网络连接,代理服务器12和源服务器13之间建立网络连接。
51.终端设备11可以是硬件也可以是软件。当终端设备11为硬件时,终端设备11例如为安装有安卓操作系统、微软操作系统、塞班操作系统、linux操作系统或苹果ios操作系统的手机、平板电脑、个人电脑、电子书阅读器、膝上型便携电脑、台式计算机等。当终端设备11为软件时,其可以安装在上述列举的硬件设备中,此时,终端设备11例如为多个软件模块或单个软件模块等,本技术实施例并不限制。终端设备11上安装客户端浏览器。
52.代理服务器12上部署远程隔离浏览器,远程隔离浏览器是客户端浏览器和源服务器13之间沟通的桥梁。客户端浏览器向源服务器13发起的访问请求经过远程隔离浏览器转发给源服务器13。源服务器13将资源发送给代理服务器12,由代理服务器12上的远程隔离浏览器加载资源得到访问请求对应的页面。然后,代理服务器12将页面通过像素流推送的方式发送给终端设备11,客户端浏览器根据像素流进行页面重建。
53.源服务器13也称之为源站服务器、源节点、rbi站点等,用于存储资源提供方提供的资源,并根据资源提供方的操作对资源进行更新、删除等操作,资源例如是图片、视频、音频、网页等。资源也称之为资源数据、业务数据等。
54.本技术实施例中,在客户端浏览器提供模拟的输入框,从而支持客户端浏览器通过绘制方式显示第一页面时,能够支持本地输入法。
55.应当理解的是,图1中的终端设备11、代理服务器12和源服务器13的数量仅仅是示意性的。实际实现中,根据实际需求部署任意数量的终端设备11、代理服务器12和源服务器13。
56.图2是本技术实施例提供的安全访问方法所适用的另一个网络架构示意图。请参照图2,内容分发网络(content delivery network,cdn)包括不同层级的cdn节点,如图2中位于顶层(如核心网层)的cdn节点25、位于中间层的cdn节点24以及位于底层的cdn节点,如图中底层的代理服务器22所示。本技术实施例中,距离用户的终端设备21最近的cdn节点,也即位于网络“边缘”的cdn节点,称之为cdn边缘节点。图2是以网络架构包括三层cdn节点为例进行示例性说明。实际应用中,网络结构可以包括任意数量层级的cdn节点,并且每一层的cdn节点的数量也可以是任意数量,本技术实施例并不以此为限制。
57.请参照图2,不同层级的cdn节点均能存储资源,并且每一层cdn节点存储的资源来自于上一层的cdn节点,而最顶层的cdn节点25存储的资源来源于源服务器23。源服务器23
例如是数据中心等。
58.请同时参照图1和图2,图2中的代理服务器22是cdn网络中的cdn边缘节点,相当于图1中的代理服务器12,图2中的源服务器23相当于图1中的源服务器13。图2中,代理服务器22上部署远程隔离浏览器,代理服务器22接收到来自终端设备21的访问请求后,若本地存储有该访问请求所请求的资源,则远程隔离浏览器加载资源得到访问请求对应的页面。然后,代理服务器22将页面通过像素流推送的方式发送给终端设备21,客户端浏览器根据像素流进行页面重建。若本地未存储该访问请求所请求的资源,则代理服务器21回源,到上层cdn节点或源服务器23获取资源。
59.下面,基于图1和图2所示网络架构,对本技术实施例提供的安全访问方法进行详细说明,示例性的,请参照图3。
60.图3是本技术实施例提供的安全访问方法的流程图,本实施例是是从终端设备和代理服务器交互的角度进行说明。本实施例包括:
61.301、在客户端浏览器的用户界面通过绘制方式显示第一页面。
62.本技术实施例中,客户端浏览器每次向源服务器请求资源时,源服务器提供的资源由远程隔离浏览器加载得到第一页面,并将第一页面的像素流推送给终端设备,终端设备上的客户端浏览器根据接收到的像素流绘制并显示第一页面。该过程中,代理服务器上的远程隔离浏览器将第一页面的视觉结果推送给终端设备,终端设备上的客户端浏览器通过绘制接口完成视觉呈现。
63.可以理解的是,远程隔离浏览器加载资源得到的第一页面和客户端浏览器通过绘制方式显示的第一页面在外观上完全相同,但是,远程隔离浏览器加载资源得到的第一页面上的控件具备可操作性,如果点击某个控件,则会发生页面跳转、出现提示信息等。但是,客户端浏览器通过绘制方式显示的第一页面相当于一个图片,若用户对图片上的控件进行点击等操作,若操作事件不传递给远程隔离浏览器,则客户端浏览器不会发生页面跳转、出现提示信息等现象。
64.302、在所述第一页面上创建输入框。
65.示例性的,客户端浏览器发起访问请求后,远程隔离浏览器完成源站页面加载,将页面的视觉结果发送客户端浏览器。客户端浏览器根据视觉结果进行视觉呈现的同时,创建一个输入框,输入框又称作input输入框、模拟输入框等。
66.通常情况下,若第一次创建出输入框,由于此时用户还未选中任何控件,还没生成焦点,因此输入框可位于第一页面的任意位置。或者,第一次创建出输入框后,该输入框位于预设位置。该输入框是具备编辑属性的一个控件,即输入框并不是以图片方式显示的一个控件,而是具有编辑属性,用户可向输入框内输入数字、英文以及其他文字,如中文等。
67.本技术实施例中,当一个控件具有编辑属性时,若用户点击以选中该控件,则控件内出现一个不断闪烁的光标,该光标即为焦点。需要说明的是,此处的焦点闪烁,并非是用户在客户端浏览器界面上选中的控件中的焦点闪烁,因为客户端浏览器仅呈现图片。之所以用户看到选中的控件中出现焦点闪烁的现象,是因为隔离浏览器的控件中焦点闪烁,每次闪烁推送像素流给客户端浏览器,供客户端浏览器重建页面,从而给用户一种客户端浏览器上用户选中的控件中,焦点不断闪烁的感觉。
68.可选的,输入框例如是透明输入框、半透明输入框、突出显示的输入框等。当输入
框不是透明输入框时,用户能快速发现输入框,但是非透明的输入框可能会遮挡第一页面的内容。
69.当输入框为透明输入框时,对用户不可见,因此,相当于创建输入框并隐藏。透明输入框不会遮挡第一页面的任何内容。创建透明输入框后,倘若用户对第一页面进行操作,如点击目标控件,则终端设备将透明输入框移动至目标控件上,用户对透明输入框输入的目标内容实时通过像素流推送的方式更新到目标控件上。从用户角度而言,就像是对第一页面上的目标控件进行输入一样。也就是说,用户对透明输入框是无感的,对透明输入框的输入就像是对目标控件的输入一样。
70.303、当监听到用户对所述第一页面的操作事件后,向代理服务器发送所述操作事件。
71.创建出输入框后,终端设备确定用户是否对第一页面进行操作,即确定是否发生操作事件。例如,用户用鼠标点击第一页面的某个位置;又如,用户通过键盘对第一页面进行操作。监听到操作事件后,终端设备向代理服务器发送该操作事件,包括点击位置等。
72.304、根据所述操作事件向所述终端设备发送指示消息,以使得所述终端设备将所述第一页面上的输入框设置为焦点。
73.示例性的,代理服务器根据操作事件确定出目标控件后,向终端设备发送指示消息,以使得终端设备将输入框移动至目标控件,并将输入框设置为焦点。
74.305、根据所述指示消息将所述输入框设置为焦点。
75.终端设备接收到指示消息后,终端设备上的客户端浏览器将输入框设置为焦点。将输入框设置为焦点后,由于远程隔离浏览器加载资源得到的第一页面中,焦点在不断的闪烁,每次闪烁时,第一页面的视觉结果发生更新。因此,远程隔离浏览器不断的向终端设备推送更新后的视觉结果,使得终端设备上的客户端浏览器更新第一页面,从而使得客户端浏览器展示出焦点闪烁的效果。
76.需要说明的是,客户端浏览器展示的焦点闪烁,并非是真正的焦点闪烁,而是不断的根据接收到的、更新后的视觉结果,重建第一页面得到的。
77.根据上述可知:通过利用输入框,能够在客户端浏览器上模拟出一个支持用户输入非英字符、非数字字符等的输入框,且同时支持用户输入英文和数字,便于用户上网过程中随意输入,确保顺利上网。
78.本技术实施例提供的安全访问访问方法,客户端浏览器的用户界面上通过绘制方式显示第一页面,终端设备在第一页面上创建输入框。当监听到用户对第一页面的操作事件后,将操作事件发送给代理服务器。代理服务器根据操作事件向终端设备发送指示消息,以指示终端设备上的客户端浏览器将输入框设置为焦点,这样一来,用户就能够在输入框内随意输入英文、数字、非英字符、非数字字符等。采用该种方案,在客户端浏览器上利用输入框显示模拟焦点元素,使得用户能够在视觉类绘制页面上进行本地输入,提高网络安全性的同时确保用户能够顺利上网。
79.可选的,上述实施例中,代理服务器根据所述操作事件向所述终端设备发送指示消息时,根据所述操作事件确定目标控件,确定该目标控件是否具有编辑属性。当所述目标控件具有编辑属性时,向所述终端设备发送指示消息。若目标控件无编辑属性,则继续等待接收操作事件。
80.示例性的,代理服务器接收到操作事件后,确定该操作事件对应的目标控件。由于对于终端设备而言,客户端浏览器上显示的第一页面相当于一个绘制出的图片,因此,客户端浏览器无法识别出用户点击了哪个控件。代理服务器接收到操作事件后,根据操作事件的位置等,确定出该操作事件对应的目标控件。
81.图4是本技术实施例提供的安全访问方法中第一页面的一个示意图。请参照图4,第一页面是一个搜索页面,对于客户端浏览器而言,第一页面上的每个灰色填充的控件、上一页、下一页、以及右上角的隐藏控件、放大控件和关闭控件是不可操作的,因为他们都是图片方式显示的。当用户点击第一页面的任意位置时,客户端浏览器将操作事件的位置信息等发送给远程隔离浏览器,由远程隔离浏览器根据操作事件的位置信息等,确定用户点击了哪个控件,即目标控件。
82.例如,用户点击了搜索框,则远程隔离浏览器确定出目标控件为搜索框。再如,用户点击了设置控件,则远程隔离浏览器确定出目标控件为设置控件。
83.代理服务器确定出目标控件后,确定目标控件是否具有编辑属性。本技术实施例中,目标控件具有编辑属性是指:倘若不采用rbi技术,用户能够向目标控件输入英文、数字以外的字符,如中文、韩文、与上档键配合才能输入的字符等,不同于可直接利用键盘输入的字母和数字,中文等要求多个按键配合才能输入。例如,用拼音输入法输入“夜”字,则需要依次输入y、e和1(拼音为ye的汉字中,夜排在第一的情况下);再如,输入%号时,需要同时按压上档键和数字键5。
84.再请参照图4,当目标控件为搜索框时,远程隔离浏览器确定出目标控件具有编辑属性。再如,当目标控件为换一换控件时,远程隔离浏览器确定出目标控件不具备编辑属性。又如,当目标控件为照相机图标时,远程隔离浏览器确定出目标控件不具备编辑属性。当远程隔离浏览器确定出目标控件具有编辑属性时,向终端设备发送指示消息,该指示消息用于指示客户端浏览器将输入框设置为焦点。
85.上述实施例中,代理服务器确定操作事件对应的目标控件具有编辑属性后,向终端设备发送指示消息。然而,本技术实施例并不以此为限制,其他可行的实现方式中,代理服务器还可以根据目标控件的位置等,确定是否需要发送指示消息。例如,目标控件位于预设位置,则向终端设备发送指示消息,
86.可选的,上述实施例中,终端设备根据所述指示消息将所述输入框设置为焦点之后,还将所述输入框移动至所述目标控件上。之后,在所述目标控件上模拟显示焦点闪烁现象。
87.示例性的,若第一次创建出输入框,由于此时还没生成焦点,因此输入框可位于第一页面的任意位置。或者,第一次创建出输入框后,该输入框位于预设位置。当操作事件发生后,远程隔离浏览器确定出目标控件并发现目标控件具有编辑属性后,指示客户端浏览器将输入框设置为焦点。倘若输入框不在目标控件上,则焦点闪烁的位置并非位于目标控件上,和用户操作事件对应的位置不一样,导致基于rbi访问的视觉结果和预期结果不一致,给用户造成困惑。
88.为此,本技术实施例中,终端设备将输入框设置为焦点后,将输入框移动到目标控件上,并在目标控件上模拟显示焦点闪烁现象,即目标控件中有一个不断闪烁的焦点,该不断闪烁的焦点用于提示用户进行输入操作。
89.例如,再请参照图4,假设初始时输入框位于右下角(图中未示意出),目标控件为搜索框、用户将输入框设置为焦点后,由于搜索框和输入框的位置相距很远,若不移动输入框的位置,则在输入框中模拟出焦点闪烁情景,给用户的感觉是在客户端浏览器的右下角闪烁,而非在客户端浏览器上的搜索框内闪烁。显然,这种场景下不移动输入框的话,会导致用户误以为客户端浏览器出现问题,无法向搜索框内进行输入。
90.本技术实施例中,将输入框移动至目标控件上,即移动至搜索框上,移动后输入框位于用户点击目标控件时的点击位置。这样一来,在输入框中模拟出焦点闪烁情景,等同于在搜索框内出现焦点闪烁的情景,不会对用户产生误导。
91.采用该种方案,通过将输入框移动至目标控件上,在目标控件上模拟显示焦点闪烁现象,使得绘制方式显示的第一页面和隔离浏览器加载资源得到的第一页面完全一致,不会对用户产生干扰,确保用户顺利上网。
92.可选的,上述的指示消息还携带样式信息,终端设备接收到指示消息后,终端设备上的客户端浏览器根据样式信息设置输入框。其中,样式信息指示所述输入框的高度、宽度或所述输入框内文字的字体大小中的至少一个。
93.示例性的,终端设备在显示通过绘制方式得到的第一页面时,额外的创建一个输入框,一种方式中,可将输入框的大小设置为预设大小,即输入框的宽为预设宽度,高为预设高度,将框内的文字设置为预设大小,即一旦用户输入文字,则文字的大小为预设大小。
94.另一种方式中,远程隔离浏览器确定出目标控件具有编辑属性后,根据目标控件确定样式信息,不同目标控件的样式信息不同。例如,搜索框对应的样式信息和登录框对应的样式信息不同,搜索框对应的样式信息中,宽度更大,便于用户输入更多的内容。而登录框对应的样式信息中,宽度较小,限制用户输入过多的内容。
95.采用该种方案,终端设备根据样式信息设置输入框,使得输入框的样式随着目标控件的不同而不同,进而使得客户端浏览器呈现的视觉效果和远程隔离浏览器加载资源得到的视觉效果相同,实现提高展示质量的目的。
96.可选的,上述实施例中,终端设备根据指示消息将所述输入框设置为焦点之后,还激活终端设备上的输入法。当用户操作键盘时,响应于用户利用所述输入法对所述输入框的每次输入操作,在所述输入框内输入目标内容。之后,利用所述目标内容更新所述目标控件,以将所述目标内容显示在所述目标控件中。其中,输入框内的目标内容对所述用户不可见。目标控件中显示的目标内容对所述用户可见。
97.示例性的,终端设备将输入框设置为焦点后,激活本地输入法,本地输入法包括用户下载并安装在终端设备上的输入法,以及终端设备的操作系统自带的输入法。激活本地输入法后,用户即可对输入框进行输入。输入过程中,用户可直接按压键盘从而进行输入,或者,用户在终端设备的用户界面上调出虚拟键盘,用鼠标点击虚拟键盘从而产生相当于按压键盘的输入操作。
98.通常来说,用户的一次输入操作包括多个键盘事件。例如,用户利用拼音输入法输入“夜晚”,一种方式中,用户输入拼音“yewan”后再按压空格或按压数字1,一共有6个键盘事件;另一种方式中,用户输入拼音“ywan”后按压数字2(假设夜晚是第2个),则一共有5个键盘事件。
99.一个输入操作结束后,输入框内显示目标内容,如上述的“夜晚”。输入框和输入框
内的目标内容对用户不可见。终端设备将目标内容发送给代理服务器以获取更新像素流,之后根据更新像素流更新目标控件,以使得目标内容显示在目标控件中,目标控件和目标控件上的目标内容对用户可见
100.采用该种方案,当用户对输入框进行输入操作时,终端设备根据每次输入操作输入至输入框内的目标内容更新目标控件,以使得目标控件显示对用户可见的目标内容,尽可能的使得客户端浏览器呈现的视觉效果和远程隔离浏览器加载资源得到的视觉效果相同,实现提高展示质量的目的。
101.可选的,上述实施例中,终端设备利用所述目标内容更新所述目标控件,以将所述目标内容显示在所述目标控件中的过程中,终端设备将目标内容发送给远程隔离浏览器,和远程隔离浏览器交互以获得更新像素流,并利用更新像素流更新第一页面。示例性的,请参照图5。
102.图5是本技术实施例提供的安全访问方法中利用目标内容更新目标控件的流程图。本实施例包括:
103.501、本次输入操作结束后,从所述输入框中提取本次输入的目标内容。
104.继续沿用上述的例子,目标控件中已经显示“乡村的”,用户的本次输入操作输入的目标内容是“夜晚”,则终端设备从输入框内提取出的目标内容是“夜晚”。
105.502、终端设备上的客户端浏览器将目标内容发送给代理服务器上的远程隔离浏览器。
106.本技术实施例中,基于rbi技术,在客户端浏览器和远程隔离浏览器之间建立数据通道,终端设备通过数据通道将目标内容发送给远程隔离浏览器。
107.503、代理服务器上的远程隔离浏览器将目标内容加载在目标控件上。
108.示例性的,代理服务器上的远程隔离浏览器根据目标内容更新目标控件,即将目标内容加载在目标控件上。由于目标控件位于第一页面上,因此,更新目标控件相当于更新第一页面。
109.更新第一页面后,远程隔离浏览器根据更新后的第一页面获取更新像素流,一种方式中,该更新像素流包含第一页面每行和每列的像素。另一种方式中,更新像素流仅包含目标控件每行、每列的像素。又一种方式中,更新像素流包含以目标控件为中心的一块区域的像素。
110.504、代理服务器上的远程隔离浏览器向终端设备上的客户端浏览器发送更新像素流。
111.示例性的,远程隔离浏览器通过数据通道向客户端浏览器发送更新像素流。
112.505、根据所述更新像素流更新并显示所述第一页面,以将所述目标内容显示在所述目标控件中。
113.客户端浏览器根据接收到的更新像素流重新绘制第一页面,以更新第一页面。
114.采用该种方案,客户端浏览器和远程隔离浏览器交互以获取更新像素流,根据更新像素流重建第一页面,确保第一页面更准确。
115.可选的,上述实施例中,用户的输入操作主要包括以下两种:单字符输入和混合输入。其中,单字符输入是指:用户输入字母或数字,每次按压一个按键,即可完成输入。例如,用户输入8,按压数字键8即可;再如,用户输入a,按字符键a即可。对于这种输入操作,用户
每进行一次输入操作,则向输入框内输入一个字符或数字。客户端浏览器从输入框内提取出字符并发送给远程隔离浏览器,进而得到更新像素流,利用更新像素流更新第一页面并显示。
116.混合输入是指:一次输入操作包含多个键盘事件。例如,用户利用拼音输入法输入“夜晚”。当输入操作为混合输入时,又分为两种情况:一种是输入法支持回显,另一种是输入法不支持回显。
117.当输入法支持回显时,用户在客户端浏览器的界面上一目了然的看到当前输入的内容。示例性的,请参照图6,图6是本技术实施例提供的安全访问方法中回显示意图。请参照图6,用户利用拼音输入法输入“夜晚”,依次按压字符键y、e、w、a、n。按压过程中,图中灰色突出的回显框内依次显示y、e、
′
、w、a、n。
118.对于支持回显的输入法,当一次输入操作结束后,例如如图6,用户依次按压字符键y、e、w、a、n,按压数字键1或空格,则完成一次输入操作。输入的目标内容为“夜晚”。客户端浏览器从输入框内提取目标内容并发送给远程隔离浏览器,以获取更新像素流并更新第一页面。
119.当本次输入为混合输入,且混合输入不支持回显时,终端设备在第一页面上创建标签,在标签中显示所述目标内容对应的字符流,该字符流对用户可见。当本次输入操作结束后,清空所述标签。其中,标签例如是透明标签等。
120.再请参照图6,用户依次按压字符键y、e、w、a、n,则标签中出现用户可见的“ye
′
wan”。之后,当用户按压数字键1或空格键时,表示本次输入操作结束,终端设备清空标签。
121.本技术实施例中,标签类似于一个自动扩展宽度的输入框,死者输入文本的增加自动扩展宽度,从而不会出现显示不全的的问题。例如,图6中,用户输入ye时,标签的宽度是两个字符的宽度的和;用户输入ye
′
wan之后,标签的宽度是6个字符的宽度的和。
122.可选的,上是实施例中,首次创建标签后,标签可位于第一页面上的任意位置或预设位置。当终端设备将输入框设置为焦点后,标签移动至焦点位置,以更形象的模拟用户输入。
123.采用该种方案,当输入法不支持回显时,创建一个标签,利用标签显示混合输入过程中目标内容对应的字符流,从而在绘制类的第一页面上更形象的模拟出用户输入过程,确保绘制方式显示的第一页面的更新更流畅。
124.可选的,上述实施例中,本次输入操作结束后,终端设备从所述输入框中提取本次输入的目标内容之后,还清空输入框。
125.示例性的,对于每次输入操作,输入框中仅显示本次输入的目标内容。当本次输入操作结束后,终端设备立即清空输入框内的目标内容。同时,将输入框后移,使得焦点在目标控件上本次输入的目标内容之后闪烁。例如,目标控件为搜索框,用户输入乡村的夜晚,共有三次输入操作,第一输入“乡村”,第二次输入“的”,第三次输入“夜晚”。第一次输入操作结束后,搜索框内出现“乡村”二字,终端设备将输入框后移,使得焦点在“村”字后面闪烁。第二次输入操作结束后,搜索框内出现“乡村的”,终端设备清空输入框内的“的”字,并向后移输入框,使得焦点在“的”字后面闪烁。
126.根据上述可知:本技术是实施例,一方面由隔离浏览器确定目标控件,相当于确定焦点的光标位置;另一方面,在客户端浏览器上指定位置模拟出一个输入框,将输入框设置
为焦点,从而使得客户端浏览器界面模拟显示光标闪烁。而且,客户端浏览器激活系统的输入法。当用户通过输入法输入一个字符,即目标内容后,立刻将目标内容传递给远程隔离浏览器的焦点元素,使得远程隔离浏览器根据目标内容更新第一页面。之后,将更新像素流发送给客户端浏览器,使得客户端浏览器根据更新像素流重绘第一页面。同时,客户端浏览器将输入框移动到新的光标位置。例如,目标内容是一个字符时,则向后移动一个字符,用户继续输入即可。
127.采用该种方案,每次输入操作结束后,终端设备清空输入框,确保终端设备每次输入操作结束后,仅提取本次输入的目标内容,速度快、准确率高。
128.可选的,上述实施例中,远程隔离浏览器接收到操作事件确定出目标控件后,当所述目标控件不具备编辑属性时,远程隔离浏览器获取所述目标控件对应的资源。之后,远程隔离浏览器根据所述资源加载第二页面,并向所述终端设备发送所述第二页面对应的像素流,以使得所述终端设备通过绘制方式显示所述第二页面。
129.请参照图4,当用户点击新闻、贴吧、登录、设置、新闻热点4等控件时,远程隔离浏览器确定出该操作事件对应的目标控件不具有编辑属性,而是应该页面跳转。此时,代理服务器获取目标控件对应的资源。例如,代理服务器是cdn网络中的边缘节点,若代理服务器本地存储了目标控件对应的资源,则远程隔离浏览器从本地加载资源;若代理服务器本地未存储目标控件对应的资源,则代理服务器回源,从源站获取资源。
130.再如,代理服务器是图1所示架构中的代理服务器,则代理服务器从源服务器获取目标控件对应的资源,远程隔离浏览器加载该资源。
131.采用该种方案,对于不具备编辑属性的目标控件,代理服务器获取资源并加载,得到第二页面,将第二页面的像素流发送给终端设备,从而使得终端设备产生页面跳转的视觉结果,确保客户端浏览器的显示更流畅,给用户一种流畅上网的体验。
132.图7a是是本技术实施例提供的安全访问方法的又一个网络架构示意图。图7b是图7a对应的流程图。
133.请参照图7a,终端设备上安装客户端浏览器,代理服务器上设置远程隔离浏览器。客户端浏览器的用户界面通过绘制方式显示第一页面。终端设备在第一页面上创建输入框和标签,输入框用于支持用户本地输入法的输入,标签用于在输入法不支持回显时显示字符流。
134.代理服务器又称作rbi代理服务器,其上部署代理网关和远程隔离浏览器,远程隔离浏览器每次接收到客户端浏览器的访问请求后,从源服务器获取资源,并在远程隔离浏览器中完成资源加载得到第一页面,再将加载后的视觉结果回传给用户。客户端浏览器和隔离浏览器之间建立数据通道,用于传输像素流等。
135.请参照图7b,本实施例是从客户端浏览器和远程隔离浏览器交互的角度进行说明,本实施例包括:
136.701、客户端浏览器通过数据通道向远程隔离浏览器发送访问请求。
137.本实施例中,用户通过客户端浏览器访问rbi站点,即访问源服务器,向代理服务器上的远程隔离浏览器发送访问请求。
138.702、远程隔离浏览器完成页面加载。
139.示例性的,远程隔离浏览器从源服务器获取资源并加载,以得到第一页面。
140.703、远程隔离浏览器向客户端浏览器发送第一页面的像素流。
141.704、客户端浏览器通过绘制方式显示第一页面,同时创建透明输入框和透明标签。
142.705、客户端浏览器判断是否监听到用户对第一页面的操作事件,若监听到操作事件,则执行步骤706;若未监听到操作事件,则返回步骤705。
143.706、客户端浏览器向远程隔离浏览器发送操作事件。
144.707、远程隔离浏览器确定目标控件具有编辑属性。
145.远程隔离浏览器根据操作事件确定出目标控件,进而确定目标控件是否具有编辑属性。当目标控件具有编辑属性时,获取目标控件的宽、高、位置和字体大小等。
146.708、远程隔离浏览器向客户端浏览器发送指示消息。
147.709、客户端浏览器将透明输入框和透明标签移动至合适位置,并将透明输入框设置为焦点。
148.710、客户端浏览器激活本地输入法,监听透明输入框内的目标内容。
149.711、客户端浏览器判断输入操作是否为混合输入操作,若输入操作是混合输入操作,则执行步骤712;若输入操作为单字符输入,则执行步骤715。
150.712、客户端浏览器判断输入法是否支持回显,若支持回显,则执行步骤714;若不支持回显,在执行步713。
151.713、每次输入过程中在透明标签中显示所述目标内容对应的字符流,之后,执行步骤714。
152.714、每次输出操作结束后,提取透明输入框内的目标内容,并清空透明标签。
153.需要说明的是,若输入法支持回显在,则无需利用透明标签显示用户可见的字符流,无需清空透明标签。
154.715、客户端浏览器向远程隔离浏览器发送目标内容。
155.当输入操作为单字符输入时,目标内容是单个字符,如单个英文字母、数字等;当输入操作为混合输入时,目标内容不是单个英文字母或数字,比如,目标内容是“夜晚”、“夜”等。
156.716、客户端浏览器清空透明输入框。
157.717、远程隔离浏览器根据目标内容更新目标控件。
158.由于目标控件位于第一页面上,将目标内容更新在目标控件上,相当于更新了第一页面。
159.718、远程隔离浏览器向客户端浏览器发送更新像素流。
160.719、客户端浏览器根据所述更新像素流更新并显示所述第一页面,以将所述目标内容显示在所述目标控件中,之后执行步骤705。
161.下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
162.图8为本技术实施例提供的一种安全访问装置的示意图。该安全访问装置800集成在终端设备上,该装置包括:显示模块81、处理模块82、发送模块83和接收模块84。
163.显示模块81,用于在客户端浏览器的用户界面通过绘制方式显示第一页面;
164.处理模块82,用于在所述第一页面上创建输入框;
165.发送模块83,用于当所述处理模块82监听到用户对所述第一页面的操作事件后,向代理服务器发送所述操作事件;
166.接收模块84,用于接收来自所述代理服务器的指示消息,所述指示消息是所述代理服务器上的远程隔离浏览器接收到所述操作事件后发送的;
167.所述处理模块82,还用于根据所述指示消息将所述输入框设置为焦点。
168.一种可行的实现方式中,所述处理模块82根据所述指示消息将所述输入框设置为焦点之后,还用于激活所述终端设备的输入法;响应于用户利用所述输入法对所述输入框的每次输入操作,在所述输入框内输入目标内容,所述输入框内的目标内容对所述用户不可见;利用所述目标内容更新所述目标控件,以将所述目标内容显示在所述目标控件中,所述目标控件中显示的目标内容对所述用户可见。
169.一种可行的实现方式中,所述处理模块82利用所述目标内容更新所述目标控件,以将所述目标内容显示在所述目标控件中时,本次输入操作结束后,从所述输入框中提取本次输入的目标内容;
170.所述发送模块83,还用于将所述目标内容发送给所述代理服务器;
171.所述接收模块84,还用于接收来自所述代理服务器的更新像素流,所述更新像素流是所述代理服务器上的远程隔离浏览器利用所述目标内容更新所述目标控件后,更新后的第一页面对应的像素流;
172.所述处理模块82,用于根据所述更新像素流更新并显示所述第一页面,以将所述目标内容显示在所述目标控件中。
173.一种可行的实现方式中,所述处理模块82,还用于在所述第一页面上创建标签;
174.当本次输入操作为混合输入操作,且所述输入法不支持回显时,在所述标签中显示所述目标内容对应的字符流,所述字符流对所述用户可见,所述混合输入操作包括至少两个键盘事件;待所述本次输入操作结束后,清空所述标签。
175.一种可行的实现方式中,所述处理模块82在本次输入操作结束后,从所述输入框中提取本次输入的目标内容之后,还用于清空所述输入框,并将所述输入框移动至所述目标控件中目标内容之后,以下次输入的内容位于本次输入的目标内容之后。
176.一种可行的实现方式中,所述处理模块82,还用于根据所述指示消息携带的样式信息设置所述输入框,所述样式信息指示所述输入框的高度、宽度或所述输入框内文字的字体大小中的至少一个。
177.一种可行的实现方式中,所述处理模块82根据所述指示消息将所述输入框设置为焦点之后,还用于将所述输入框移动至所述目标控件上;在所述目标控件上模拟显示焦点闪烁现象。
178.一种可行的实现方式中,所述输入框为透明输入框。
179.本技术实施例提供的安全访问装置,可以执行上述实施例中终端设备的动作,其实现原理和技术效果类似,在此不再赘述。
180.图9为本技术实施例提供的一种安全访问装置的示意图。该安全访问装置900集成在代理服务器上,该装置包括:接收模块91、发送模块92。
181.接收模块91,用于接收来自终端设备的操作事件,所述操作事件是终端设备监听到的用户对第一页面的操作事件,所述第一页面是所述终端设备上的客户端浏览器通过绘
制方式显示的页面;
182.发送模块92,用于根据所述操作事件向所述终端设备发送指示消息,以使得所述终端设备将所述第一页面上的输入框设置为焦点。
183.一种可行的实现方式中,所述安全访问装置900还包括处理模块93,所述接收模块91,还用于接收来自所述终端设备的目标内容;
184.所述处理模块93,还用于根据所述目标内容更新所述目标控件;
185.所述发送模块92,还用于向所述终端设备发送更新像素流,所述更新像素流是更新后的第一页面对应的像素流。
186.一种可行的实现方式中,所述处理模块93,还用于确定所述操作事件对应的目标控件是否具有编辑属性;
187.所述发送模块92,用于当所述目标控件具有编辑属性时,向所述终端设备发送指示消息。
188.一种可行的实现方式中,所述处理模块93,还用于当所述目标控件不具备编辑属性时,获取所述目标控件对应的资源;根据所述资源加载第二页面;
189.所述发送模块92,还用于向所述终端设备发送所述第二页面对应的像素流,以使得所述终端设备通过绘制方式显示所述第二页面
190.本技术实施例提供的安全访问装置,可以执行上述实施例中代理服务器的动作,其实现原理和技术效果类似,在此不再赘述。
191.图10为本技术实施例提供的一种电子设备的结构示意图。如图10所示,该电子设备1000例如为上述的终端设备或代理服务器,该电子设备1000包括:
192.处理器101和存储器102;
193.所述存储器102存储计算机指令;
194.所述处理器101执行所述存储器102存储的计算机指令,使得所述处理器101执行如上终端设备或代理服务器实施的安全访问方法。
195.处理器101的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
196.可选地,该电子设备1000还包括通信部件103。其中,处理器101、存储器102以及通信部件103可以通过总线104连接。
197.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如上终端设备或代理服务器实施的安全访问方法。
198.本技术实施例还提供一种计算机程序产品,该计算机程序产品包含计算机程序,计算机程序被处理器执行时实现终端设备或代理服务器实施的安全访问方法。
199.另外,本技术实施例还提供一种安全访问系统,包括终端设备和代理服务器,终端设备和代理服务器的动作,可参见上述各实施例的描述,此处不再赘述。
200.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的
权利要求书指出。
201.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
技术特征:
1.一种安全访问方法,其特征在于,应用于终端设备,包括:在客户端浏览器的用户界面通过绘制方式显示第一页面;在所述第一页面上创建输入框;当监听到用户对所述第一页面的操作事件后,向代理服务器发送所述操作事件;接收来自所述代理服务器的指示消息,所述指示消息是所述代理服务器上的远程隔离浏览器接收到所述操作事件后发送的;根据所述指示消息将所述输入框设置为焦点。2.根据权利要求1所述的方法,其特征在于,所述根据所述指示消息将所述输入框设置为焦点之后,还包括:激活所述终端设备的输入法;响应于用户利用所述输入法对所述输入框的每次输入操作,在所述输入框内输入目标内容,所述输入框内的目标内容对所述用户不可见;利用所述目标内容更新所述目标控件,以将所述目标内容显示在所述目标控件中,所述目标控件中显示的目标内容对所述用户可见。3.根据权利要求2所述的方法,其特征在于,所述利用所述目标内容更新所述目标控件,以将所述目标内容显示在所述目标控件中,包括:本次输入操作结束后,从所述输入框中提取本次输入的目标内容;将所述目标内容发送给所述代理服务器;接收来自所述代理服务器的更新像素流,所述更新像素流是所述代理服务器上的远程隔离浏览器利用所述目标内容更新所述目标控件后,更新后的第一页面对应的像素流;根据所述更新像素流更新并显示所述第一页面,以将所述目标内容显示在所述目标控件中。4.根据权利要求2或3所述的方法,其特征在于,还包括:在所述第一页面上创建标签;当本次输入操作为混合输入操作,且所述输入法不支持回显时,在所述标签中显示所述目标内容对应的字符流,所述字符流对所述用户可见,所述混合输入操作包括至少两个键盘事件;待所述本次输入操作结束后,清空所述标签。5.根据权利要求3所述的方法,其特征在于,所述本次输入操作结束后,从所述输入框中提取本次输入的目标内容之后,还包括:清空所述输入框,并将所述输入框移动至所述目标控件中目标内容之后,以使得下次输入的内容位于本次输入的目标内容之后。6.根据权利要求1~3任一项所述的方法,其特征在于,还包括:根据所述指示消息携带的样式信息设置所述输入框,所述样式信息指示所述输入框的高度、宽度或所述输入框内文字的字体大小中的至少一个。7.根据权利要求1~3任一项所述的方法,其特征在于,所述根据所述指示消息将所述输入框设置为焦点之后,还包括:将所述输入框移动至目标控件上;在所述目标控件上模拟显示焦点闪烁现象。
8.根据权利要求1~3任一项所述的方法,其特征在于,所述输入框为透明输入框。9.一种安全访问方法,其特征在于,应用于代理服务器,包括:接收来自终端设备的操作事件,所述操作事件是终端设备监听到的用户对第一页面的操作事件,所述第一页面是所述终端设备上的客户端浏览器通过绘制方式显示的页面;根据所述操作事件向所述终端设备发送指示消息,以使得所述终端设备将所述第一页面上的输入框设置为焦点。10.根据权利要求9所述的方法,其特征在于,还包括:接收来自所述终端设备的目标内容;根据所述目标内容更新所述目标控件;向所述终端设备发送更新像素流,所述更新像素流是更新后的第一页面对应的像素流。11.根据权利要求9所述的方法,其特征在于,所述根据所述操作事件向所述终端设备发送指示消息,包括:确定所述操作事件对应的目标控件是否具有编辑属性;当所述目标控件具有编辑属性时,向所述终端设备发送指示消息。12.一种安全访问系统,其特征在于,包括终端设备和代理服务器,所述终端设备用于实现如权利要求1~8任一项所述的方法,所述代理服务器用于实现如权利要求9~11任一项所述的方法。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一所述的方法。
技术总结
本申请实施例公开了一种安全访问方法、设备及可读存储介质,终端设备上客户端浏览器的用户界面上通过绘制方式显示第一页面,在第一页面上创建输入框。当监听到用户对第一页面的操作事件后,将操作事件发送给代理服务器。代理服务器根据操作事件确定目标控件,并确定目标控件是否具有编辑属性。若目标控件具有编辑属性,则指示终端设备上的客户端浏览器将输入框设置为焦点,这样一来,用户就能够在输入框内随意输入英文、数字、非英字符、非数字字符等。采用该种方案,在客户端浏览器上利用输入框显示模拟焦点元素,使得用户能够在视觉类绘制页面上进行本地输入,提高网络安全性的同时确保用户能够顺利上网。确保用户能够顺利上网。确保用户能够顺利上网。
技术研发人员:谢文伟 王鑫 吕士表
受保护的技术使用者:网宿科技股份有限公司
技术研发日:2023.05.11
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/