CN113204730B - 资源获取方法、webvpn代理服务器、***及服务器 - Google Patents
资源获取方法、webvpn代理服务器、***及服务器 Download PDFInfo
- Publication number
- CN113204730B CN113204730B CN202110546444.5A CN202110546444A CN113204730B CN 113204730 B CN113204730 B CN 113204730B CN 202110546444 A CN202110546444 A CN 202110546444A CN 113204730 B CN113204730 B CN 113204730B
- Authority
- CN
- China
- Prior art keywords
- browser
- domain name
- proxy
- webvpn
- source station
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000001960 triggered effect Effects 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims description 40
- 238000012544 monitoring process Methods 0.000 claims description 23
- 238000009877 rendering Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Library & Information Science (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施方式涉及通信技术领域,公开了一种资源获取方法,包括:接收来自客户端的第一浏览器的用户输入事件;获取用户输入事件在第二浏览器触发的事件结果,第二浏览器运行在webvpn服务端;采用第二浏览器根据事件结果从源站获取资源;将资源返回给客户端,以在第一浏览器上显示资源。本发明实施方式还公开了一种webvpn代理服务器、***及服务器。本发明实施方式提供的资源获取方法、webvpn代理服务器、***及服务器,无需对源站反馈的页面中的资源链接的域名进行统一改写,通过引导访问请求的方式,使得客户端的访问请求被webvpn服务端接收到而到达内网,得到正常的响应,提高用户体验,杜绝内网信息暴露的风险。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种资源获取方法、webvpn代理服务器、***及服务器。
背景技术
在现有webvpn(Web Virtual Private Network,网页虚拟专用网络)实现中,主要是通过源站的域名进行代理域名的映射改写,从而将web流量引入至网络中的代理节点,进而实现代理的功能。然而,由于源站反馈的页面内容是不确定的,在具体的实现过程中,发明人发现,至少存在以下情况:
第一、源站反馈页面中的资源链接的域名需基于JavaScript拼接确定;
第二、站点存在对页面中的域名进行检查的业务逻辑。
这些情况的发生会导致源站反馈的页面中资源链接的域名无法被映射改写或无法改写完全,造成访问跳出代理的问题,这些跳出代理的访问请求不能被webvpn服务端接收到而无法达到内网,无法获得正常的响应,不仅影响用户体验,而且会造成内网信息暴露的风险。
发明内容
本发明实施方式的目的在于提供一种资源获取方法、webvpn代理服务器、***及服务器,无需对源站反馈的页面中的资源链接的域名进行统一改写,通过引导访问请求的方式,使得客户端的访问请求被webvpn服务端接收到而到达内网,得到正常的响应,从而提高用户体验,也杜绝了内网信息暴露的风险。
为解决上述技术问题,本发明的实施方式提供了一种资源获取方法,应用于运行在webvpn服务端的代理服务,包括:接收来自客户端的第一浏览器的用户输入事件;获取用户输入事件在第二浏览器触发的事件结果,第二浏览器运行在webvpn服务端;采用第二浏览器根据事件结果从源站获取资源;将资源返回给客户端,以在第一浏览器上显示资源。
本发明的实施方式还提供了一种webvpn代理服务器,webvpn代理服务器上运行有代理服务及浏览器,其中,代理服务基于上述的方法从源站获取资源后返回给客户端。
本发明的实施方式还提供了一种资源获取***,包括至少一客户端,至少一源站,其中,源站部署在内网中,以及上述的webvpn服务端,webvpn服务端接收来自客户端的浏览器的用户输入事件,并基于用户输入事件从源站获取的资源,对用户输入事件进行响应。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的资源获取方法。
本发明实施方式相对于相关技术而言,通过接收来自客户端的第一浏览器的用户输入事件,获取用户输入事件在运行在webvpn服务端的第二浏览器触发的事件结果,采用第二浏览器根据事件结果从源站获取资源后返给第一浏览器进行显示。由于第一浏览器的用户输入事件触发的是访问请求,因此webvpn服务端可通过接收用户输入事件并将它映射在第二浏览器上来间接获知客户端相应的访问请求,并通过第二浏览器向源站获取访问请求所需的资源,从而完成代理过程,由此可见,相较于现有技术而言,本发明所提供的资源获取方法,无需向客户端反馈域名改写的页面,避免了因域名改写不全而发生的代理异常的问题,从而提高用户体验,同时也杜绝了内网域名信息暴露的风险,更进一步的,由于源站返回的资源只由webvpn服务端的第二浏览器进行显示,并不会直接反馈给用户,使得相关脚本注入改写之类的攻击无法影响到内网站点(如源站),例如,典型的XSS(Cross SiteScripting,跨站脚本攻击)。
另外,将资源返回给客户端,以在第一浏览器上显示资源,具体包括:获取第二浏览器加载资源后的网页视图;根据网页视图生成HTML文本,并在HTML文本中添加用于监听用户输入事件的监控脚本;将HTML文本返回给客户端,以在第一浏览器上显示HTML文本并运行监控脚本。通过在返回客户端的HTML文本中添加用于监听用户输入事件的监控脚本,并在第一浏览器上运行监控脚本,可以有效地监控在第一浏览器发生的用户输入事件。
另外,获取第二浏览器加载资源后的网页视图,具体包括:在第二浏览器完成资源的加载和渲染后,对第二浏览器中展示出的网页图像进行截图,作为网页视图。通过对第二浏览器中展示出的网页图像进行截图作为网页视图,后续再根据截图生成返给第一浏览器的HTML文本,这样用户可以通过第一浏览器看到源站反馈的网页内容,同时用户在第一浏览器的用户输入事件并不会触发第一浏览器执行相应的事件结果,即发出相应的访问请求。
另外,采用第二浏览器根据事件结果从源站获取资源,包括:若事件结果为页面跳转,则获取第二浏览器向新页面发送的访问请求中待访问的页面地址,并将页面地址中的源站域名替换为指向webvpn服务端的代理域名,得到替换后的页面地址,基于替换后的页面地址生成页面跳转请求;将页面跳转请求发送至第一浏览器;接收第一浏览器响应页面跳转请求发出的访问请求;将访问请求中的代理域名替换为源站域名;通过第二浏览器从源站域名指向的源站获取资源。通过在事件结果为页面跳转时,将第二浏览器向新页面发送的访问请求中页面地址的源站域名替换为指向webvpn服务端的代理域名,生成页面跳转请求,将生成的页面跳转请求发送给客户端的第一浏览器,使第一浏览器响应页面跳转请求向webvpn服务端发出访问请求,再通过第二浏览器获取资源,可以实现第一浏览器相应的页面跳转;同时,由于第一浏览器响应页面跳转请求向webvpn服务端发出访问请求,而页面跳转请求中包括页面跳转的页面地址,因此第一浏览器的用户可以感知到访问地址中域名的变化,也保证了第一浏览器相应的浏览器功能。
另外,将所述页面地址中的源站域名替换为指向所述webvpn服务端的代理域名,具体包括:为页面地址中的的源站域名设置与webvpn服务端对应的代理域名,并记录源站域名与代理域名的映射关系;将页面地址中的源站域名替换为代理域名;将访问请求中的代理域名替换为源站域名,包括:根据映射关系将访问请求中的代理域名替换为源站域名。通过在页面跳转请求时为源站域名设置与webvpn服务端对应的代理域名,并记录源站域名与代理域名的映射关系,可以将替换为代理域名的页面跳转请求返回给第一浏览器,从而使第一浏览器将地址栏的地址转换为跳转后的页面地址,使第一浏览器用户可以感知到页面地址的变化;同时,由于页面跳转请求的域名指向webvpn服务端,因此第一浏览器响应页面跳转请求而发出的访问请求会被webvpn服务端接收到;另外,映射关系的记录可以使webvpn服务端自动学习源站域名与代理域名的对应关系,从而使webvpn服务端可以在客户端和源站之间实现相应的代理功能。
另外,在记录源站域名与代理域名的映射关系时,为映射关系设置有效期,若映射关系超出有效期,则标记记录为无效或清除记录。通过为映射关系设置有效期,在映射关系超出有效期时标记映射关系无效或清除相应的映射关系,可以通过对有效期的合理设置而对用户的访问进行有效管理,同时减少内网信息暴露的风险。
另外,在根据映射关系将访问请求中的代理域名替换为源站域名之前,还包括:基于映射关系和有效期验证访问请求的合法性,若存在与代理域名对应的映射关系且有效,则确定访问请求合法,进入后续步骤;若不存在与代理域名对应的映射关系或映射关系无效,则确定访问请求不合法,拒绝访问。
附图说明
一个或多个实施方式通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施方式的限定。
图1是本发明第一实施方式提供的资源获取方法的流程示意图;
图2是本发明第一实施方式提供的资源获取方法中S103细化步骤的流程示意图;
图3是本发明第一实施方式提供的资源获取方法中S104细化步骤的流程示意图;
图4是本发明第二实施方式提供的webvpn代理服务器的结构示意图;
图5是本发明第二实施方式提供的webvpn代理服务器在获取资源时的时序示例图;
图6是本发明第三实施方式提供的资源获取***的结构示意图;
图7是本发明第四实施方式提供的服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种资源获取方法,通过接收来自客户端的第一浏览器的用户输入事件,获取用户输入事件在运行在webvpn服务端的第二浏览器触发的事件结果,采用第二浏览器根据事件结果从源站获取资源后返给第一浏览器进行显示。由于第一浏览器的用户输入事件目的是为了触发生成新的访问请求,因此webvpn服务端可通过接收用户输入事件并将其运行在第二浏览器上来获知客户端相应的访问请求,进而向访问请求的目的源站获取响应资源,如此一来,整个过程中无需对源站响应的资源页面中的域名进行改写,因此可完全避免因改写不完全而引发的代理异常或信息暴露的问题,从而提高了用户体验以及内网源站的安全性。
应当说明的是,本发明实施方式提供的资源获取方法应用于运行在webvpn服务端的代理服务,即执行主体为webvpn服务端的代理服务。其中,代理服务可以为但不限于运行在webvpn服务端的一个应用程序,而webvpn服务端可以由单独的服务器或多个服务器组成的集群来实现。
本发明实施方式提供的资源获取方法的具体流程如图1所示,包括以下步骤:
S101:接收来自客户端的第一浏览器的用户输入事件。
其中,用户输入事件是指用户通过客户端的输入装置输入的事件,输入装置例如是鼠标、键盘或触控屏等。例如,用户针对第一浏览器中展示的内容用鼠标进行移动或点击等。客户端的第一浏览器的用户输入事件可包括两种类型,第一种类型是用户通过第一浏览器访问指定地址,其中,该指定地址指向webvpn服务端;第二种类型是用户基于第一浏览器显示的webvpn服务端反馈的资源而输入的相应操作。
在一实施中,用户可在获知具体的***的情况下,在第一浏览器的地址栏输入相应的地址,向webvpn服务端发起访问。举例而言,用户可通过在客户端的第一浏览器输入webvpn服务端的登录页面地址来申请通过vpn服务访问内网资源,以向webvpn发出登录请求,其中该登录请求中的请求域名是指向webvpn服务端的,基于此,webvpn服务端可接收到来自客户端的第一浏览器的用户输入事件。
在另一实施中,第一浏览器在接收到web服务端反馈的资源后,可对其进行渲染加载,并显示给用户,用户可基于显示的内容进行操作,从而生成用户输入事件,其中该用户输入事件通过运行在第一浏览器上的监控脚本发送给webvpn服务端。举例而言,用户在向webvpn服务端在接收到登录请求后,可对用户进行鉴权,并在鉴权通过后向客户端反馈可访问的内网应用索引页面,一般来说,该索引页面是由鉴权服务器反馈的,其中包含了用户可访问的各内网资源的链接,该些链接为真实的内网资源链接,其中域名信息为真实的内网应用的域名。Webvpn服务端在基于登录请求向用户反馈索引页面的过程可包含:将登录请求中的代理域名替换为对应的源站(鉴权服务器)域名,得到转换后的登录请求;通过本地的第二浏览器根据转换后的登录请求从源站域名指向的鉴权服务器获取响应资源(索引页面数据);获取第二浏览器加载响应资源后的网页视图(索引页面);根据该网页视图构建登录请求的响应内容;将响应内容返回给客户端,以在所述第一浏览器上对应显示出网页视图。
值得注意的是,响应内容中包含了网页视图对应的图片信息,以及监控脚本,第一浏览器在对响应内容进行加载渲染时,显示的是网页视图对应的图片,并同时运行了监控脚本,如此一来,可通过监控脚本获取用户基于第一浏览器显示的图片进行的输入操作,并将用户输入事件发送给webvpn服务端。
S102:获取用户输入事件在第二浏览器触发的事件结果,第二浏览器运行在webvpn服务端。
S103:采用第二浏览器根据事件结果从源站获取资源。
在接收到来自第一浏览器的用户输入事件后,webvpn服务端可根据相应的用户输入事件在第二浏览器上触发,以获取用户输入事件在第二浏览器触发的事件结果,采用第二浏览器根据事件结果从源站获取资源。
在一实施中,用户输入事件可以是向用户通过第一浏览器发出的访问请求,其中,访问请求中的请求域名指向webvpn服务端,webvpn服务端可将该代理域名替换为对应的源站域名,得到转换后的访问请求,并通过第二浏览器根据该转换后的访问请求从源站域名指向的源站上获取资源。
在另一实施中,用户输入事件可以包含输入点的坐标,以及输入方式,如单击、双击等。Webvpn端接收到用户输入事件后,可根据输入点的坐标及输入方式映射到第二浏览器中对应显示的网页视图中,从而获取第二浏览器对用户输入事件的反应,以获得事件结果。
例如,第一浏览器上的用户输入事件为点击网页中的A图标,webvpn服务端可根据该用户输入事件,映射为对第二浏览器网站的A图标的点击操作。第二浏览器在接收到该点击操作时,可自动作出相应的响应,即生成对应的事件结果,其中,事件结果可包含页面跳转请求,即向对应源站请求跳转至新的页面。
在一个具体的例子中,如图2所示,S103(即采用第二浏览器根据事件结果从源站获取资源)可以包括以下步骤:
S1031:若事件结果为页面跳转,则获取第二浏览器向新页面发送的访问请求中待访问的页面地址,并将该页面地址中的源站域名替换为指向webvpn服务端的代理域名,得到替换后的页面地址,基于替换后的页面地址生成页面跳转请求。
S1032:将页面跳转请求发送至第一浏览器。
S1033:接收第一浏览器响应页面跳转请求发出的访问请求。
S1034:将访问请求中的代理域名替换为源站域名。
S1035:通过第二浏览器从源站域名指向的源站获取资源。
具体而言,若事件结果为页面跳转,表示用户需要访问新的页面地址,换言之,第一浏览器需要针对新的页面地址发出访问请求,此时,webvpn服务端可拦截第二浏览器基于用户输入事件发出的页面访问请求,并从该页面访问请求中获取待访问的页面地址,将该页面地址中的源站域名替换为指向webvpn服务端的代理域名,得到替换后的页面地址,并基于替换后的页面地址生成页面跳转请求,发送至客户端的第一浏览器,使得第一浏览器在接收到该页面跳转请求后,向该替换后的页面地址发出访问请求,其中页面跳转请求可基于302跳转来实现。
例如,若原来的域名为“http://www.XXX.com”,用户输入事件为用户利用鼠标对news图标进行点击,则事件结果为页面将跳转至“http://news.XXX.com”,即在第二浏览器触发向“http://news.XXX.com”发送页面访问请求。此时,webvpn服务端可对第二浏览器发出的该页面访问请求进行拦截,并获取其中的待访问的页面地址:“http://news.XXX.com”,将该地址中的源站域名:news.XXX替换为指向webvpn服务端的代理域名为:news.XXX-002.proxy,并基于替换后的页面地址:“http://news.XXX-002.proxy.com”生成302请求,发送至第一浏览器,使得第一浏览器向新的页面地址:“http://news.XXX-002.proxy.com”发出访问请求。
Webvpn服务端在接收到该访问请求后,可将访问请求中的请求域名替换为对应的源站域名,通过第二浏览器发出该转换后的访问请求,以从源站域名指向的源站获取响应资源。
在本申请的实施例中,webvpn服务端获取源站域名对应的代理域名的方法包括:基于随机算法、或加密算法等计算得到源站域名对应的唯一标识符,如源站域名为news.A.com计算得到对应的标识符为P1,同时将该标识符与预设的代理标志组成对应的代理域名P1.vpn.com,其中,代理标志为预设确定的,在与标识符组成代理域名时,代理标志需以上级域名的形式存在,如此一来,可保证基于源站域名生成的代理域名的泛域名都相同,使得生成的代理域名可指向webvpn服务端,进而通过配置DNS解析规则,将该些代理域名解析到webvpn服务端。webvpn服务端在获取到源站域名对应的代理域名后,可建立源站域名与代理域名的映射关系,保存在本地,当接收到来自第一浏览器的访问请求时,可基于保存的映射关系将访问请求中的代理域名还原为对应的源站域名。
在一实施中,webvpn服务端在记录源站域名与代理域名的映射关系时,还可为该映射关系设置有效期,若映射关系超出有效期,则标记该记录为无效或清除该记录。相应的,在所述根据本地保存的映射关系将第一浏览器发送的访问请求中的代理域名替换为源站域名之前,还包括:基于映射关系和有效期验证访问请求的合法性,若存在与代理域名对应的映射关系且有效,则确定该访问请求合法,进入后续步骤;若不存在与代理域名对应的映射关系或映射关系无效,则确定访问请求不合法,拒绝访问。以提高访问安全性。
S104:将资源返回给客户端,以在第一浏览器上显示资源。
在一个具体的例子中,如图3所示,S104(即将资源返回给客户端,以在第一浏览器上显示资源)具体可以包括以下步骤:
S1041:获取第二浏览器加载资源后的网页视图。
S1042:根据网页视图生成HTML文本,并在HTML文本中添加用于监听用户输入事件的监控脚本。
S1043:将HTML文本返回给客户端,以在第一浏览器上显示HTML文本并运行监控脚本。
通过在返回客户端的HTML文本中添加用于监听用户输入事件的监控脚本,并在第一浏览器上运行监控脚本,可以有效地监控在第一浏览器发生的用户输入事件。具体而言,通过在第一浏览器上运行监控脚本后,第一浏览器可与webvpn服务端建立websocket的持久连接,当有用户输入事件时,可将事件转换为相应的格式数据发出,例如位置x:120,y:130,mouse move,以将用户输入事件的具体内容发送给webvpn服务端,webvpn可基于该些信息生成对第二浏览器的操作。
在一个具体的例子中,S1041具体包括:在第二浏览器完成资源的加载和渲染后,对第二浏览器中展示出的网页图像进行截图,作为网页视图。
通过对第二浏览器中展示出的网页图像进行截图作为网页视图,后续再根据截图生成返给第一浏览器的HTML文本,这样用户可以看到相应的网页内容,同时用户在第一浏览器的用户输入事件并不会触发相应的事件结果。
值得一提的是,在将资源加载在第二浏览器上时,资源中的js、css等子资源会根据页面语法加载在第二浏览器上,而第一浏览器上显示的是图片格式的网页视图,并不包含源站反馈的资源信息,换言之,用户客户端的第一浏览器无法获取到内网资源信息的具体内容,因此无需担心因内网资源信息反馈给客户端而导致的内网信息暴露问题。
本发明实施方式提供的资源获取方法,通过接收来自客户端的第一浏览器的用户输入事件,获取用户输入事件在运行在webvpn服务端的第二浏览器触发的事件结果,采用第二浏览器根据事件结果从源站获取资源后返给第一浏览器进行显示。由于无需向用户反馈包含内网资源链接的网页数据,因此,无需对反馈给用户的信息进行域名改写,不仅避免了因改写不完全而出现的代理异常的问题,还能保证内网资源信息的安全,杜绝了内网信息暴露的风险。
可以理解的是,在本申请的其他实施例中,事件结果可能为其它类型。在一个具体的例子中,在获取S102(即获取用户输入事件在第二浏览器触发的事件结果)之后,还可以包括:若事件结果为指向输入框,则根据用户输入事件的位置在第一浏览器创建文字输入框,以接受客户端的用户输入的文字内容,再采用第二浏览器根据文字内容从源站请求资源。
例如,用户在第一浏览器上移动鼠标到网页视图对应的一个输入框的位置,webvpn服务端监听到事件结果为指向输入框,则根据鼠标所在的位置在第一浏览器上创建一个文字输入框,从而接受用户输入的文字内容,webvpn服务端再结合用户输入的文字内容从源站请求资源返回给第一浏览器。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第二实施方式涉及一种webvpn代理服务器200,如图4所示,包含:运行在webvpn代理服务器200上的代理服务201及浏览器202,其中,代理服务基于上述实施方式中提供的资源获取方法从源站获取资源后返回给客户端。
下面以一个具体的例子说明webvpn代理服务器200的资源获取过程,请参考图5,其中,图中的代理模块即代理服务201,第二浏览器即浏览器202,其具体的时序流程如下:
1、客户端的第一浏览器向代理模块发送访问请求,访问地址为:https://XXX-001.proxy.com;
2、代理模块基于本地保存的映射关系,将https://XXX-001.proxy.com中的请求域名(即代理域名):XXX-001.proxy替换为对应的源站域名www.XXX,得到替换后的访问地址:http://www.XXX.com,并将访问请求中的访问地址替换为http://www.XXX.com;
3、代理模块设置第二浏览器的监听,用于监听第二浏览器是否加载完成;
4、代理模块通过第二浏览器请求访问http://www.XXX.com;
5、第二浏览器根据http://www.XXX.com向www.XXX对应的源站进行访问;
6、源站将资源响应给第二浏览器;
7、第二浏览器将从源站获取的资源进行解析渲染;
8、第二浏览器向源站请求加载资源js、css等子资源;
9、源站响应js、css资源给第二浏览器;
10、代理模块监听到第二浏览器加载完成;
11、代理模块对第二浏览器展示出的网页图像进行截图;
12、代理模块根据截图构建第一浏览器的HTML文本(UI HTML);
13、代理模块将构建的HTML文本响应给第一浏览器,同时在响应内容中引用一些js,实现对第一浏览器的用户输入事件的监听;
14、代理模块接收监听到的用户输入事件;
15、代理模块将用户输入事件转发至第二浏览器;
16、第二浏览器点击触发新请求http://news.XXX.com;
17、代理模块获取触发的事件结果;
18、代理模块进行事件处理,将http://news.XXX.com映射至https://news.XXX-002.proxy.com,完成代理域名的映射;
19、将事件处理的结果https://news.XXX-002.proxy.com响应给第一浏览器;
20、第一浏览器发起新的请求https://news.XXX-002.proxy.com,然后重新回到第1个流程步骤。
不难发现,本实施方式为与第一相对应的webvpn代理服务器实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第三实施方式涉及一种资源获取***,如图6所示,包括客户端301、如第二实施方式所述的webvpn服务端302和源站303,其中,源站303部署在内网中,webvpn服务端302接收来自客户端301的浏览器的用户输入事件,并基于用户输入事件从源站303获取的资源,对用户输入事件进行响应。
不难发现,本实施方式为与第一、第二实施方式相对应的***实施方式,本实施方式可与第一、第二实施方式互相配合实施。第一、第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一、第二实施方式中。
本发明第四实施方式涉及一种服务器,如图7所示,包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行上述的资源获取方法。
其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器401。
处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器401在执行操作时所使用的数据。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施方式,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (9)
1.一种资源获取方法,其特征在于,应用于运行在webvpn服务端的代理服务,包括:
接收来自客户端的第一浏览器的用户输入事件;
获取所述用户输入事件在第二浏览器触发的事件结果,所述第二浏览器运行在所述webvpn服务端;
采用所述第二浏览器根据所述事件结果从源站获取资源,并完成所述资源的加载和渲染,对所述第二浏览器中展示出的网页图像进行截图,作为网页视图;
根据所述网页视图将所述资源返回给所述客户端,以在所述第一浏览器上显示所述资源。
2.根据权利要求1所述的资源获取方法,其特征在于,所述根据所述网页视图将所述资源返回给所述客户端,以在所述第一浏览器上显示所述资源,具体包括:
根据所述网页视图生成HTML文本,并在所述HTML文本中添加用于监听用户输入事件的监控脚本;
将所述HTML文本返回给所述客户端,以在所述第一浏览器上显示所述HTML文本并运行所述监控脚本。
3.根据权利要求1所述的资源获取方法,其特征在于,所述采用所述第二浏览器根据所述事件结果从源站获取资源,包括:
若所述事件结果为页面跳转,则获取所述第二浏览器向新页面发送的访问请求中待访问的页面地址,并将所述页面地址中的源站域名替换为指向所述webvpn服务端的代理域名,得到替换后的所述页面地址,基于所述替换后的页面地址生成页面跳转请求;
将所述页面跳转请求发送至所述第一浏览器;
接收所述第一浏览器响应所述页面跳转请求发出的访问请求;
将所述访问请求中的代理域名替换为所述源站域名;
通过所述第二浏览器从所述源站域名指向的源站获取资源。
4.根据权利要求3所述的资源获取方法,其特征在于,所述将所述页面地址中的源站域名替换为指向所述webvpn服务端的代理域名,具体包括:
为所述页面地址中的源站域名设置与所述webvpn服务端对应的代理域名,并记录所述源站域名与所述代理域名的映射关系;
将所述页面地址中的源站域名替换为所述代理域名;
所述将所述访问请求中的代理域名替换为所述源站域名,包括:
根据所述映射关系将所述访问请求中的代理域名替换为所述源站域名。
5.根据权利要求4所述的资源获取方法,其特征在于,在记录所述源站域名与所述代理域名的映射关系时,为所述映射关系设置有效期,若所述映射关系超出所述有效期,则标记所述记录为无效或清除所述记录。
6.根据权利要求5所述的资源获取方法,其特征在于,在所述根据所述映射关系将所述访问请求中的代理域名替换为所述源站域名之前,还包括:
基于所述映射关系和所述有效期验证所述访问请求的合法性,若存在与所述代理域名对应的所述映射关系且有效,则确定所述访问请求合法,进入后续步骤;若不存在与所述代理域名对应的映射关系或所述映射关系无效,则确定所述访问请求不合法,拒绝访问。
7.一种webvpn代理服务器,其特征在于,所述webvpn代理服务器上运行有代理服务及浏览器,其中,所述代理服务基于权利要求1至6中任一项所述的方法从源站获取资源后返回给客户端。
8.一种资源获取***,其特征在于,包括至少一客户端,至少一源站,其中,所述源站部署在内网中,以及如权利要求7所述的webvpn代理服务器,所述webvpn代理服务器接收来自所述客户端的浏览器的用户输入事件,并基于所述用户输入事件从所述源站获取的资源,对所述用户输入事件进行响应。
9.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-6中任一项所述的资源获取方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110546444.5A CN113204730B (zh) | 2021-05-19 | 2021-05-19 | 资源获取方法、webvpn代理服务器、***及服务器 |
PCT/CN2021/124446 WO2022242023A1 (zh) | 2021-05-19 | 2021-10-18 | 资源获取方法、webvpn代理服务器、***及服务器 |
EP21940469.6A EP4343585A1 (en) | 2021-05-19 | 2021-10-18 | Resource acquisition method and system, webvpn proxy server and server |
US18/194,595 US20230239369A1 (en) | 2021-05-19 | 2023-03-31 | Resource acquisition method, webvpn proxy server, system, and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110546444.5A CN113204730B (zh) | 2021-05-19 | 2021-05-19 | 资源获取方法、webvpn代理服务器、***及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204730A CN113204730A (zh) | 2021-08-03 |
CN113204730B true CN113204730B (zh) | 2024-06-07 |
Family
ID=77032006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110546444.5A Active CN113204730B (zh) | 2021-05-19 | 2021-05-19 | 资源获取方法、webvpn代理服务器、***及服务器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230239369A1 (zh) |
EP (1) | EP4343585A1 (zh) |
CN (1) | CN113204730B (zh) |
WO (1) | WO2022242023A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204730B (zh) * | 2021-05-19 | 2024-06-07 | 网宿科技股份有限公司 | 资源获取方法、webvpn代理服务器、***及服务器 |
CN113810464B (zh) * | 2021-08-12 | 2024-05-14 | 网宿科技股份有限公司 | 访问方法、web缓存代理***及电子设备 |
CN113872933B (zh) * | 2021-08-20 | 2023-05-26 | 上海云盾信息技术有限公司 | 隐藏源站的方法、***、装置、设备及存储介质 |
CN114780266B (zh) * | 2022-06-20 | 2022-09-27 | 统信软件技术有限公司 | 一种资源访问方法、***及计算设备 |
CN114979240B (zh) * | 2022-07-26 | 2022-10-25 | 杭州奇思妙行网络科技有限公司 | 一种分布式WebSocket接入***及方法 |
CN115277809B (zh) * | 2022-08-02 | 2024-05-24 | 北京有竹居网络技术有限公司 | 内容分发网络中访问请求的处理方法、边缘服务器 |
CN115987956B (zh) * | 2022-12-28 | 2024-03-12 | 中国电子产业工程有限公司 | Web代理应用的资源引用方法、电子设备及存储介质 |
CN116186457B (zh) * | 2023-04-21 | 2024-02-06 | 京东科技信息技术有限公司 | 网页访问和网页开发的方法、装置、电子设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392008A (zh) * | 2014-12-19 | 2015-03-04 | 北京奇虎科技有限公司 | 网页数据获取方法、浏览器客户端及cdn服务器 |
CN110808897A (zh) * | 2019-11-06 | 2020-02-18 | 深信服科技股份有限公司 | 代理访问方法、用户设备、存储介质、装置及*** |
CN110855766A (zh) * | 2019-11-06 | 2020-02-28 | 北京天融信网络安全技术有限公司 | 一种访问Web资源的方法、装置及代理服务器 |
CN112104703A (zh) * | 2020-08-18 | 2020-12-18 | 厦门网宿有限公司 | cookie管理方法、中间节点及webvpn*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2847686B1 (en) * | 2012-05-07 | 2019-10-30 | Digital Guardian, Inc. | Enhanced document and event mirroring for accessing content |
CN103246699B (zh) * | 2013-04-01 | 2017-06-27 | 钱咸升(北京)网络科技有限公司 | 一种基于浏览器的数据访问控制方法和装置 |
CN112272158A (zh) * | 2020-09-16 | 2021-01-26 | 厦门网宿有限公司 | 一种数据代理方法、***及代理服务器 |
CN113204730B (zh) * | 2021-05-19 | 2024-06-07 | 网宿科技股份有限公司 | 资源获取方法、webvpn代理服务器、***及服务器 |
-
2021
- 2021-05-19 CN CN202110546444.5A patent/CN113204730B/zh active Active
- 2021-10-18 EP EP21940469.6A patent/EP4343585A1/en active Pending
- 2021-10-18 WO PCT/CN2021/124446 patent/WO2022242023A1/zh active Application Filing
-
2023
- 2023-03-31 US US18/194,595 patent/US20230239369A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392008A (zh) * | 2014-12-19 | 2015-03-04 | 北京奇虎科技有限公司 | 网页数据获取方法、浏览器客户端及cdn服务器 |
CN110808897A (zh) * | 2019-11-06 | 2020-02-18 | 深信服科技股份有限公司 | 代理访问方法、用户设备、存储介质、装置及*** |
CN110855766A (zh) * | 2019-11-06 | 2020-02-28 | 北京天融信网络安全技术有限公司 | 一种访问Web资源的方法、装置及代理服务器 |
CN112104703A (zh) * | 2020-08-18 | 2020-12-18 | 厦门网宿有限公司 | cookie管理方法、中间节点及webvpn*** |
Also Published As
Publication number | Publication date |
---|---|
EP4343585A1 (en) | 2024-03-27 |
WO2022242023A1 (zh) | 2022-11-24 |
US20230239369A1 (en) | 2023-07-27 |
CN113204730A (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113204730B (zh) | 资源获取方法、webvpn代理服务器、***及服务器 | |
US9553918B1 (en) | Stateful and stateless cookie operations servers | |
US9264435B2 (en) | Apparatus and methods for access solutions to wireless and wired networks | |
US8261362B2 (en) | Online privacy management | |
JP5022301B2 (ja) | プロキシサーバおよび通信中継プログラム、並びに通信中継方法 | |
JP4882546B2 (ja) | 情報処理システムおよび制御プログラム | |
US9083566B1 (en) | System and method for communicating with an applet using an inline web frame in a network environment | |
US20090064173A1 (en) | Content management | |
EP3136656B1 (en) | Information sharing method and device | |
CN108173875B (zh) | 页面登录方法及装置、电子设备、存储介质 | |
CN109688280A (zh) | 请求处理方法、请求处理设备、浏览器及存储介质 | |
US10725751B2 (en) | Generating a predictive data structure | |
CN107948148B (zh) | 一种模拟代填的方法及装置 | |
US20150373081A1 (en) | Method of sharing browsing on a web page displayed by a web browser | |
EP2973192B1 (en) | Online privacy management | |
CN110674435A (zh) | 页面访问方法、服务器、终端、电子设备及可读存储介质 | |
JP5383923B1 (ja) | 情報処理装置、情報処理システム、情報処理方法およびプログラム | |
CN114915565B (zh) | 网络调试的方法和*** | |
CN104423973B (zh) | 浮动框架页面加载信息的处理方法、装置及*** | |
US20080222157A1 (en) | Information providing method and information providing system | |
US11562092B1 (en) | Loading and managing third-party tools on a website | |
US12026272B2 (en) | Loading and managing third-party tools on a website | |
CN113824696B (zh) | portal认证方法及装置 | |
CN113660166A (zh) | 交易路由控制方法、装置、电子设备及存储介质 | |
CN117609647A (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 |