CN113391851A - 一种代理控制方法、客户端设备及代理服务设备 - Google Patents
一种代理控制方法、客户端设备及代理服务设备 Download PDFInfo
- Publication number
- CN113391851A CN113391851A CN202110617129.7A CN202110617129A CN113391851A CN 113391851 A CN113391851 A CN 113391851A CN 202110617129 A CN202110617129 A CN 202110617129A CN 113391851 A CN113391851 A CN 113391851A
- Authority
- CN
- China
- Prior art keywords
- proxy
- agent
- browser
- authentication
- configuration file
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 235000014510 cooky Nutrition 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 8
- 230000007547 defect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000013507 mapping Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种代理控制方法、客户端设备及代理服务设备,所述代理控制方法,包括:当浏览器完成所述代理插件的加载后,向代理服务器发送代理配置文件获取请求,代理配置文件获取请求中携带有认证凭证;接收代理服务器返回的认证凭证对应的代理配置文件,基于代理配置文件对所述浏览器进行代理配置,并在完成配置后,为浏览器开启代理服务,使得浏览器基于代理配置对用户请求进行转发。本发明公开的代理控制方法,在克服了现有技术中在浏览器上人工配置代理服务器的转发目标时容易产生误操作的同时,提高了配置效率,并提高了浏览器代理服务的服务效率。
Description
技术领域
本发明涉及代理服务技术领域,尤其涉及一种代理控制方法、客户端设备及代理服务设备。
背景技术
在使用代理服务器对浏览器进行代理服务时,当浏览器向代理服务器成功请求代理服务后,浏览器发出的全部访问请求都将经过代理服务器进行转发,而有些访问请求并不需要由代理服务器进行代理,从而导致代理服务器的资源浪费,为代理服务器增加不必要的处理压力,并且还会影响这些访问请求的传输效率。现有的解决方式是通过在浏览器上人工配置代理服务器的服务目标,然而这种通过人工配置的方式依赖于用户的正确操作,并且配置信息无法根据需求进行灵活调整,效率较低。
发明内容
为了解决现有的通过在浏览器上人工配置代理服务器的服务目标的方式进行代理控制的准确性存在风险,以及配置信息无法灵活调整,进而影响代理服务效率的问题,本发明实施例提供了一种代理控制方法、客户端设备及代理服务设备。
第一方面,本发明实施例提供了一种代理控制方法,应用于代理插件,所述方法包括:
当浏览器完成所述代理插件的加载后,向代理服务器发送代理配置文件获取请求,所述代理配置文件获取请求中携带有认证凭证;
接收所述代理服务器返回的所述认证凭证对应的代理配置文件,基于所述代理配置文件对所述浏览器进行代理配置,并在完成配置后,为所述浏览器开启代理服务,使得所述浏览器基于所述代理配置对用户请求进行转发。
本发明实施例提供的代理控制方法中,当浏览器完成代理插件的加载后,由代理插件自动向代理服务器发送代理配置文件获取请求,该代理配置文件获取请求中携带有认证凭证,代理插件接收代理服务器返回的该认证凭证对应的代理配置文件,其中,代理配置文件包括代理服务器提供代理服务的源站服务器信息,进而,代理插件基于代理配置文件对浏览器进行代理配置,在完成配置后,为浏览器开启代理服务,进而,浏览器即可基于代理配置对用户请求进行转发,相比于现有技术,本发明通过代理插件实现自动获取代理配置文件并为浏览器进行代理配置后,才开启浏览器的代理功能,不仅实现仅对代理配置文件中包含的源站服务器的访问请求进行转发代理,而且在克服了现有技术中在浏览器上人工配置代理服务器的转发目标时容易产生误操作的同时,提高了配置效率,并提高了浏览器代理服务的服务效率。
一种可能的实施方式中,在向代理服务器发送代理配置文件获取请求之前,还包括:
从所述浏览器缓存的Cookie信息列表中获取由所述代理服务器授权的认证凭证;
若获取到所述认证凭证,则执行所述发送代理配置文件获取请求的步骤;
若未获取到所述认证凭证,则通过所述浏览器向用户展示登录认证提示,并在登录认证完成后,返回执行所述获取认证凭证的步骤。
一种可能的实施方式中,在为所述浏览器开启代理服务后,还包括:
周期性地从所述Cookie信息列表中获取所述认证凭证;
当确定获取的所述认证凭证发生更新时,则向所述代理服务器请求更新后的所述认证凭证对应的代理配置文件,以重新对所述浏览器进行代理配置。
一种可能的实施方式中,所述方法,还包括:
若未获取到所述认证凭证,则关闭代理服务。
一种可能的实施方式中,所述认证凭证由所述浏览器基于所述代理服务器发送的登录响应信息生成并保存在所述Cookie信息列表中。
一种可能的实施方式中,所述代理配置文件是所述代理服务器基于所述认证凭证确定的。
第二方面,本发明实施例提供了一种代理控制方法,应用于代理服务器,所述方法包括:
接收浏览器加载的代理插件发送的代理配置文件获取请求,所述代理配置文件获取请求中携带有认证凭证;
向所述代理插件返回所述认证凭证对应的代理配置文件,以使所述代理插件基于所述代理配置文件对所述浏览器进行代理配置,并为所述浏览器开启代理服务,使得所述浏览器基于所述代理配置对用户请求进行转发。
本发明实施例提供的代理配置方法中,代理服务器预先对请求代理的用户进行身份认证后生成认证凭证,并生成代理配置文件,代理配置文件包括代理服务器为该用户提供代理服务的源站服务器信息,并建立认证凭证、用户认证信息对应的代理配置文件的映射关系,当代理服务器接收到浏览器加载的代理插件向发送的携带了认证凭证的代理配置文件获取请求时,代理配置文件获取请求中携带有认证凭证,代理服务器向代理插件返回该认证凭证对应的代理配置文件,进而,代理插件即可基于代理配置文件对浏览器进行代理配置,并为浏览器开启代理服务器,进而,浏览器基于代理配置对用户请求进行转发,相比与现有技术,本发明中通过在浏览器上加载的代理插件向代理服务器请求获取代理配置文件,通过代理插件实现自动获取代理配置文件并为浏览器进行代理配置后,通过代理插件开启浏览器的代理功能,从而,实现仅对代理配置文件中包含的源站服务器的访问请求进行转发代理,在克服了现有技术中在浏览器上人工配置代理服务器的转发目标时容易产生误操作的同时,提高了配置效率,并提高了浏览器代理服务的服务效率。并且,由于代理服务器在代理插件发送认证凭证时才向其返回对应的代理配置文件,保证了访问会话的安全性。
一种可能的实施方式中,所述认证凭证由所述代理插件从所述浏览器缓存的Cookie信息列表中获取得到;
在向所述代理插件返回所述认证凭证对应的代理配置文件之前,还包括:
基于所述认证凭证对所述代理配置文件获取请求进行验证,若确定验证通过,则向所述代理插件返回所述认证凭证对应的代理配置文件。
一种可能的实施方式中,所述认证凭证由所述浏览器基于所述代理服务器发送的登录响应信息生成并保存在所述Cookie信息列表中,其中,所述代理服务器在接收所述浏览器发送的登录请求后,基于所述登录请求中携带的用户认证信息进行认证,并在认证通过后,生成所述认证凭证,响应给所述浏览器。
本发明提供的代理服务器侧实施的代理控制方法的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种客户端设备,所述客户端设备上运行有浏览器,所述浏览器中加载有代理插件,其中,所述代理插件用于实现本发明所述的代理方控制方法。
第四方面,本发明实施例提供了一种代理服务设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的代理控制方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的代理控制方法的应用场景示意图;
图2为本发明一实施例提供的代理控制方法的实施流程示意图;
图3为本发明一实施例提供的代理服务器对用户进行登录认证的实施流程示意图;
图4为本发明一实施例提供的代理控制方法的实施流程示意图;
图5为本发明一实施例提供的代理控制方法的实施流程示意图。
具体实施方式
为了解决背景技术中的问题,本发明实施例提供了一种代理控制方法、客户端设备及代理服务设备。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
首先参考图1,其为本发明实施例提供的代理控制方法的应用场景示意图,客户端11上运行有浏览器,当用户10需要对客户端11上运行的浏览器开启代理服务时,可在客户端11上运行的浏览器上安装代理插件,完成代理插件的安装与加载后,代理插件可自动向代理服务器12发送携带有认证凭证的代理配置文件获取请求,代理服务器12向代理插件返回该认证凭证对应的代理配置文件,其中,代理配置文件包括代理服务器12为该认证凭证对应用户提供代理服务的源站服务器信息。
代理插件可基于代理配置文件对浏览器进行代理配置,并在完成配置后,为浏览器开启代理服务,使得浏览器基于该代理配置对用户请求进行转发。
其中,认证凭证是由代理插件从浏览器缓存的Cookie信息列表中获取的由代理服务器12授权的认证凭证,如果代理插件获取到认证凭证,则执行上述向代理服务器12发送代理配置文件获取请求的步骤,如果代理插件未获取到认证凭证,则代理插件可关闭已开启的代理服务,并通过浏览器向用户展示登录认证提示,并在用户登录认证完成后,重新从浏览器缓存的Cookie信息列表中获取由代理服务器12授权的认证凭证,直至成功获取到有效的认证凭证为止。
代理插件在向代理服务器12请求获取代理配置文件时,可由代理服务器12对认证凭证进行验证,若确定验证通过后,则向代理插件返回认证凭证对应的代理配置文件。
在一实施中,代理插件在为浏览器开启代理服务之后,还可周期性地从浏览器缓存的Cookie信息列表中获取认证凭证,当获取的认证凭证发生更新时,则向代理服务器12重新请求更新后的认证凭证对应的代理配置文件,以重新对浏览器进行代理配置,基于此,代理插件可周期性的对认证凭证进行检验,保证了以及时获取最新的代理配置文件。
在此应用场景下,客户端11和代理服务器12之间通过网络进行通信连接,该网络可以为局域网、广域网、英特网等。
客户端11可以为安装有浏览器的终端设备(例如:智能手机、平板、笔记本电脑、个人电脑(PC,Personal Computer)等)。代理服务器12可以为任何能够提供代理服务的一台服务器、若干台服务器组成的服务器集群或云计算中心,源站服务器可为提供内容服务的应用服务器。在一实施中,源站服务器可部署在局域网内,代理服务器12可基于VPN(Virtual Private Network,虚拟专用网络)网络与源站服务器进行数据交互,其中VPN网络可以是基于SD-WAN(Software-Defined Wide Area Network)技术实现的安全加速网络。
基于上述应用场景,下面将参照附图2~4更详细地描述本发明的示例性实施例,可以理解的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
如图2所示,其为本发明实施例提供的一种代理控制方法的实施流程示意图,所述代理控制方法,应用于上述应用场景中,可以包括以下步骤:
S21、当浏览器完成代理插件的加载后,代理插件从浏览器缓存的Cookie信息列表中获取由代理服务器授权的认证凭证,若获取到认证凭证,则依次执行步骤S22~S25,若未获取到认证凭证,则执行步骤S27。
在具体实施中,当用户需要为浏览器开启代理服务时,可以在客户端运行的浏览器上安装代理插件,当浏览器完成代理插件的加载后,代理插件可自动从浏览器本地缓存的Cookie信息列表中查询满足预设条件的认证凭证。
其中,认证凭证由浏览器基于代理服务器发送的登录响应信息生成并保存在本地Cookie信息列表中。具体而言,认证凭证是由代理服务器在完成用户身份认证后生成,并将认证凭证携带在登录响应信息中发送给客户端浏览器的,在一实施中,代理服务器可以Cookie设置项(set-Cookie)的形式将认证凭证发送给客户端浏览器,使得浏览器基于Cookie设置项生成对应的Cookie信息,作为认证凭证缓存在本地的Cookie信息列表中。
其中,代理服务器在生成认证凭证时可根据预设算法计算得到具有唯一标识性的指定长度字符串,例如,基于加密算法对用户身份信息进行加密,或基于用户身份信息和登录请求时间计算生成的指定长度字符串,或者基于随机算法计算生成的指定长度字符串,作为认证凭证的部分内容值,同时可按照预设的格式来设置认证凭证,具体而言,认证凭证可保存为Cookie信息中的指定“名称”对应的“值”中,其中,指定的名称是与代理服务器预先协商好的,例如,代理服务器在生成Cookie设置项时,指定Cookie的名称为“slweb_id”,对应的取值为基于随机算法生成的具有唯一标识性的32位的字符串“db065cab0F628bf1695ddbf3ceb80c03”,那么浏览器基于该Cookie设置项生成并保存的Cookie信息中可包含:
slweb_id=db065cab0F628bf1695ddbf3ceb80c03
代理插件在获取认证凭证时,可从Cookie信息列表中查询名称为“slweb_id”的Cookie值,作为认证凭证,当查询结果为空时,则表示无法获取到认证凭证。
在一实施方式中,代理服务器在生成Cookie设置项时,还可指定有效期,用于指示Cookie信息的有效期限,因此,浏览器在基于Cookie设置项生成相应的Cookie信息时,会记录对应的有效期。换言之,Cookie信息列表中保存有认证凭证的有效期,代理插件在查询到认证凭证时,可进一步基于系统当前时间及认证凭证的有效期判断认证凭证是否已过期,若已过期,则表示认证凭证无效,否则有效,可以理解的是,若认证凭证无效,则确定代理插件无法获取到认证凭证。
值得注意的是,为了便于后续对代理配置文件获取请求进行验证,代理服务器在生成认证凭证后,可保存该认证凭证与用户认证信息对应的代理配置文件的映射关系,以供后续对认证凭证的验证,以及快速获取认证凭证对应的代理配置文件。在一实施中,技术人员可通过后台管理服务向代理服务器下发各用户的代理配置文件,代理服务器在生成认证凭证时,可根据用户认证信息确定出对应的代理配置文件,并将该代理配置文件保存在该映射关系中,即:代理服务器保存认证凭证与用户认证信息对应的代理配置文件的映射关系。
在一实施中,代理配置文件可基于PAC(Proxy Auto Config)脚本文件来实现,具体包括代理服务器的应用协议(http/https),代理服务器的IP地址,代理服务器的端口,以及代理服务器为该用户提供的代理服务信息,其中,代理服务信息用于指示代理的范围,具体可包含提供代理服务的源站服务器信息或者不提供代理服务的源站服务器信息,所述源站服务信息可以但不限于包括以下信息中的一种或多种:源站服务器的IP(InternetProtocol,互联网协议)地址信息、域名信息、请求类型信息等。值得注意的是,后续步骤中,浏览器基于代理配置对用户请求进行转发时,需根据代理服务信息来确定是否将用户请求转发至代理服务器,因此,通过代理服务信息的设置,可实现对代理范围的控制,从而减轻代理服务器的处理压力。
S22、代理插件向代理服务器发送代理配置文件获取请求,代理配置文件获取请求中携带有认证凭证。
具体实施时,代理插件将从浏览器缓存的Cookie信息列表中获取到的有效的认证凭证携带在代理配置文件获取请求中发送给代理服务器。
S23、代理服务器基于认证凭证对代理配置文件获取请求进行验证,若确定验证通过,则依次执行步骤S24~S25,否则,依次执行步骤S26~S27。
具体实施时,代理服务器可通过以下方式验证代理配置文件获取请求的合法性:代理服务器检测代理配置文件获取请求中是否携带有效的认证凭证,若携带,则确定该代理配置文件获取请求合法,确定针对代理配置文件获取请求的验证通过,若未携带,则确定该代理配置文件获取请求不合法,确定针对代理配置文件获取请求的验证不通过。
具体地,代理服务器通过以下方式检测代理配置文件获取请求中是否携带有效的认证凭证:若代理配置文件获取请求中携带有认证凭证,且所述认证凭证为代理服务器向浏览器提供的、还未过期的认证凭证,则确定代理配置文件获取请求中携带了有效的认证凭证。在实施中,代理服务器在获取到代理配置文件获取请求中携带的认证凭证后,可基于该认证凭证查询本地保存的映射关系,来确定该认证凭证是否由代理服务器生成,若本地保存有该认证凭证对应映射关系,则可确定该认证凭证是由代理服务器生成的。
实施过程中,代理服务器若确定认证凭证无效,则表示用户认证无效,如尚未登录认证,或认证失效,需要重新登录进行认证,代理服务器向代理插件返回代理配置文件获取失败响应消息,以提示用户需要重新进行登录认证。
S24、代理服务器向代理插件返回认证凭证对应的代理配置文件。
具体实施时,代理配置文件是代理服务器基于认证凭证确定的,若确定验证通过,代理服务器从保存映射关系中,查找该认证凭证对应的代理配置文件,并将查找到的代理配置文件返回至代理插件。
S25、代理插件基于代理配置文件对浏览器进行代理配置,并在完成配置后,为所述浏览器开启代理服务,使得所述浏览器基于所述代理配置对用户请求进行转发。
具体实施时,代理插件在基于代理配置文件对浏览器进行代理配置前,可先检查浏览器的代理服务是否开启,若已开启,则先将其关闭,进而在完成代理配置后,再重新开启代理服务,从而保证浏览器在代理插件运行期间,只会根据代理插件完成的代理配置对用户请求进行代理,在一实施中,当代理插件完成加载,开始运行时,可先对浏览器的代理服务进行检查,若发现代理服务已开启,则可先将其关闭,以保证浏览器在执行新的代理配置前不再向代理服务器转发用户请求,从而降低代理服务器的处理压力。
S26、代理服务器向代理插件返回代理配置文件获取失败响应消息,以提示用户需要重新进行登录认证。
S27、代理插件通过浏览器向用户展示登录认证提示,并在登录认证完成后,返回执行步骤S21中获取认证凭证的步骤。
具体实施时,如图3所示,其为代理服务器对用户进行登录认证的实施流程示意图,包括以下步骤S271~S274:
S271、代理插件若从浏览器缓存的Cookie信息列表中未获取到由代理服务器授权的认证凭证或者在接收到代理服务器返回的代理配置文件获取失败响应消息后,则通过浏览器向用户展示登录认证提示。
具体实施时,代理插件若从浏览器缓存的Cookie信息列表中未获取到由代理服务器授权的认证凭证,或认证失效,需要重新登录进行认证,此时,代理插件可通过浏览器向用户展示登录认证提示,提示用户访问代理服务器提供的登录认证页面进行登录认证。
具体地,可以通过浏览器展示代理插件图标指示的登录认证入口,如可以通过变换插件图标的颜色来提示用户需要进行登录认证,用户通过点击插件图标,进入代理服务器提供的登录认证页面,也就是说,可以将插件图标链接到所述登录认证页面。还可以向用户发送登录提醒通知,由用户直接在浏览器上输入登录认证页面的URL(Uniform ResourceLocator,统一资源定位符)地址,进入登录认证页面,输入用户认证信息,即用户名和密码,具体的用户认证信息内容可按实际需求进行设置,本发明实施例对此不作限定。
S272、浏览器接收用户输入的用户认证信息,向代理服务器发送携带有用户认证信息的登录请求。
具体实施时,浏览器接收用户输入的用户名和密码,将该用户名和密码携带在登录请求中发送至代理服务器,由代理服务器进行认证。
S273、代理服务器基于用户认证信息生成对应的认证凭证,并保存认证凭证、用户认证信息对应的代理配置文件的映射关系。
具体实施时,代理服务器在接收到浏览器发送的登录请求后,可先基于登录请求中的用户认证信息对用户身份进行认证,在认证通过后,可为本次登录生成对应的认证凭证,并保存认证凭证与用户认证信息对应的代理配置文件的映射关系,其中用户认证信息对应的代理配置文件可由后台管理服务预先下发给代理服务器,或者由代理服务器基于用户认证信息对应的最新代理规则实时生成的,认证凭证的生成过程已在步骤S21中进行了说明,此处不作赘述。
S274、代理服务器对登录请求进行响应,并在响应信息中携带认证凭证,将响应消息返回至浏览器。
进一步地,浏览器将认证凭证缓存至Cookie信息列表中,代理插件返回执行步骤S21中获取认证凭证的步骤。
可以理解的是,在实际应用过程中,用户对应的代理配置文件是可以按实际需求进行调整的,在一实施中,代理服务器可以从后台管理服务接收各用户对应的代理配置文件的修改内容,当代理服务器确定该用户认证信息对应的代理配置文件修改后,可向该客户端浏览器返回提示用户重新进行登录认证的提示消息,浏览器在接收到该提示消息后,可强制用户重新完成登录过程,使得代理服务器可重新生成新的认证凭证,更新该新的认证凭证与用户认证信息对应的更新的代理配置文件的映射关系,并向浏览器返回携带更新后的认证凭证的响应消息,以使浏览器将更新后的认证凭证存储在Cookie信息列表中,以对Cookie信息列表中的认证凭证进行更新。
基于此,为了进一步保证认证凭证的有效性,代理插件在为浏览器开启代理服务后,可以周期性地从Cookie信息列表中获取代理服务器授权的认证凭证,并判定认证凭证是否更新,当确定获取的认证凭证发生更新时,则向代理服务器请求该更新后的认证凭证对应的代理配置文件,进而重新对浏览器进行代理配置,其中,获取认证凭证的周期可以自行设定,本发明实例不作限定。如果未获取到认证凭证,代理插件则关闭代理服务。
由此可见,相比于现有技术,本发明实施例,通过在浏览器上安装并加载代理插件,通过代理插件实现自动获取代理配置文件并为浏览器进行代理配置后,通过代理插件开启浏览器的代理功能,进而,实现仅对代理配置文件中包含的源站服务器的访问请求进行转发代理,在克服了现有技术中在浏览器上人工配置代理服务器的转发目标时容易产生误操作的同时,提高了配置效率,并提高了浏览器代理服务的服务效率。并且基于代理服务器生成的认证凭证验证浏览器发送的代理配置文件获取请求的合法性,可在一定程度上保证网络访问的安全性。同时,通过代理插件自动实现身份认证和代理功能,无需在浏览器上预先配置用户认证信息(即代理服务器提供的用户名和密码),只需进行登录认证,登录认证需要用户手动输入用户名和密码,不存在泄露风险,认证成功后,代理服务器生成对应的认证凭证,通过浏览器的代理插件自动获取认证凭证,并在通过代理插件从代理服务器自动获取代理配置文件后,代理插件的代理功能则自动生效,从而,提高了浏览器代理服务的安全性与服务效率。
基于同一发明构思,本发明实施例还提供了一种代理插件侧实施的代理控制方法,由于所述代理插件侧实施的代理控制方法解决问题的原理与上述代理控制方法相似,因此上述代理插件侧实施的代理控制方法的实施可以参见上述代理控制方法的实施,重复之处不再赘述。
如图4所示,其为本发明一实施例提供的一种代理控制方法的实施流程示意图,所述代理控制方法,应用于代理插件,可以包括以下步骤:
S31、当浏览器完成代理插件的加载后,代理插件向代理服务器发送代理配置文件获取请求,所述代理配置文件获取请求中携带有认证凭证。
S32、代理插件接收所述代理服务器返回的所述认证凭证对应的代理配置文件,基于所述代理配置文件对所述浏览器进行代理配置,并在完成配置后,为所述浏览器开启代理服务,使得所述浏览器基于所述代理配置对用户请求进行转发。
可选地,在向代理服务器发送代理配置文件获取请求之前,还包括:
从所述浏览器缓存的Cookie信息列表中获取由所述代理服务器授权的认证凭证;
若获取到所述认证凭证,则执行所述发送代理配置文件获取请求的步骤;
若未获取到所述认证凭证,则通过所述浏览器向用户展示登录认证提示,并在登录认证完成后,返回执行所述获取认证凭证的步骤。
可选地,在为所述浏览器开启代理服务后,还包括:
周期性地从所述Cookie信息列表中获取所述认证凭证;
当确定获取的所述认证凭证发生更新时,则向所述代理服务器请求更新后的所述认证凭证对应的代理配置文件,以重新对所述浏览器进行代理配置。
可选地,所述方法,还包括:
若未获取到所述认证凭证,则关闭代理服务。
较佳地,所述认证凭证由所述浏览器基于所述代理服务器发送的登录响应信息生成并保存在所述Cookie信息列表中。
较佳地,所述代理配置文件是所述代理服务器基于所述认证凭证确定的。
基于同一发明构思,本发明实施例还提供了一种代理服务器侧实施的代理控制方法,由于所述代理服务器侧实施的代理控制方法解决问题的原理与上述代理控制方法相似,因此上述代理服务器侧实施的代理控制方法的实施可以参见上述代理控制方法的实施,重复之处不再赘述。
如图5所示,其为本发明一实施例提供的一种代理控制方法的实施流程示意图,所述代理控制方法,应用于代理服务器,可以包括以下步骤:
S41、代理服务器接收浏览器加载的代理插件发送的代理配置文件获取请求,所述代理配置文件获取请求中携带有认证凭证。
S42、代理服务器向所述代理插件返回所述认证凭证对应的代理配置文件,以使所述代理插件基于所述代理配置文件对所述浏览器进行代理配置,并为所述浏览器开启代理服务,使得所述浏览器基于所述代理配置对用户请求进行转发。
较佳地,所述认证凭证由所述代理插件从所述浏览器缓存的Cookie信息列表中获取得到;
在向所述代理插件返回所述认证凭证对应的代理配置文件之前,还包括:
基于所述认证凭证对所述代理配置文件获取请求进行验证,若确定验证通过,则向所述代理插件返回所述认证凭证对应的代理配置文件。
较佳地,所述认证凭证由所述浏览器基于所述代理服务器发送的登录响应信息生成并保存在所述Cookie信息列表中,其中,所述代理服务器在接收所述浏览器发送的登录请求后,基于所述登录请求中携带的用户认证信息进行认证,并在认证通过后,生成所述认证凭证,响应给所述浏览器。
本发明实施例提供了一种客户端设备,所述客户端设备上运行有浏览器,所述浏览器中加载有代理插件,其中,所述代理插件用于实现如图4所示的代理控制方法。
本发明实施例提供了一种代理服务设备,所述代理服务设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如图5所示的代理控制方法。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的代理控制方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的代理控制方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种代理控制方法,其特征在于,应用于代理插件,所述方法包括:
当浏览器完成所述代理插件的加载后,向代理服务器发送代理配置文件获取请求,所述代理配置文件获取请求中携带有认证凭证;
接收所述代理服务器返回的所述认证凭证对应的代理配置文件,基于所述代理配置文件对所述浏览器进行代理配置,并在完成配置后,为所述浏览器开启代理服务,使得所述浏览器基于所述代理配置对用户请求进行转发。
2.如权利要求1所述的方法,其特征在于,在向代理服务器发送代理配置文件获取请求之前,还包括:
从所述浏览器缓存的Cookie信息列表中获取由所述代理服务器授权的认证凭证;
若获取到所述认证凭证,则执行所述发送代理配置文件获取请求的步骤;
若未获取到所述认证凭证,则通过所述浏览器向用户展示登录认证提示,并在登录认证完成后,返回执行所述获取认证凭证的步骤。
3.如权利要求2所述的方法,其特征在于,在为所述浏览器开启代理服务后,还包括:
周期性地从所述Cookie信息列表中获取所述认证凭证;
当确定获取的所述认证凭证发生更新时,则向所述代理服务器请求更新后的所述认证凭证对应的代理配置文件,以重新对所述浏览器进行代理配置。
4.如权利要求2或3所述的方法,其特征在于,还包括:
若未获取到所述认证凭证,则关闭代理服务。
5.如权利要求1所述的方法,其特征在于,所述认证凭证由所述浏览器基于所述代理服务器发送的登录响应信息生成并保存在所述Cookie信息列表中。
6.如权利要求1所述的方法,其特征在于,所述代理配置文件是所述代理服务器基于所述认证凭证确定的。
7.一种代理控制方法,其特征在于,应用于代理服务器,所述方法包括:
接收浏览器加载的代理插件发送的代理配置文件获取请求,所述代理配置文件获取请求中携带有认证凭证;
向所述代理插件返回所述认证凭证对应的代理配置文件,以使所述代理插件基于所述代理配置文件对所述浏览器进行代理配置,并为所述浏览器开启代理服务,使得所述浏览器基于所述代理配置对用户请求进行转发。
8.如权利要求7所述的方法,其特征在于,所述认证凭证由所述代理插件从所述浏览器缓存的Cookie信息列表中获取得到;
在向所述代理插件返回所述认证凭证对应的代理配置文件之前,还包括:
基于所述认证凭证对所述代理配置文件获取请求进行验证,若确定验证通过,则向所述代理插件返回所述认证凭证对应的代理配置文件。
9.如权利要求7所述的方法,其特征在于,所述认证凭证由所述浏览器基于所述代理服务器发送的登录响应信息生成并保存在所述Cookie信息列表中,其中,所述代理服务器在接收所述浏览器发送的登录请求后,基于所述登录请求中携带的用户认证信息进行认证,并在认证通过后,生成所述认证凭证,响应给所述浏览器。
10.一种客户端设备,其特征在于,所述客户端设备上运行有浏览器,所述浏览器中加载有代理插件,其中,所述代理插件用于实现如权利要求1~6中任一项所述的代理控制方法。
11.一种代理服务设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求7~9任一项所述的代理控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110617129.7A CN113391851A (zh) | 2021-06-03 | 2021-06-03 | 一种代理控制方法、客户端设备及代理服务设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110617129.7A CN113391851A (zh) | 2021-06-03 | 2021-06-03 | 一种代理控制方法、客户端设备及代理服务设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113391851A true CN113391851A (zh) | 2021-09-14 |
Family
ID=77619860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110617129.7A Pending CN113391851A (zh) | 2021-06-03 | 2021-06-03 | 一种代理控制方法、客户端设备及代理服务设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113391851A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579199A (zh) * | 2022-02-22 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 一种服务网格中代理的扩展方法、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106100A1 (en) * | 2005-04-26 | 2009-04-23 | Governing Dynamics Llc | Method of digital good placement in a dynamic, real time environment |
CN106031118A (zh) * | 2013-11-11 | 2016-10-12 | 阿道罗姆股份有限公司 | 云服务安全中介和代理 |
CN107729358A (zh) * | 2017-09-01 | 2018-02-23 | 小草数语(北京)科技有限公司 | 基于浏览器的页面访问方法和装置 |
CN109889514A (zh) * | 2019-02-03 | 2019-06-14 | 郭丽 | 一种认证扫描方法及web应用扫描系统 |
CN111431746A (zh) * | 2020-03-20 | 2020-07-17 | 杭州有赞科技有限公司 | 一种api网关迁移方法及系统 |
US20200267045A1 (en) * | 2019-02-18 | 2020-08-20 | Sap Se | Logical networking and affinity determination of iot devices using partitioned virtual space |
CN112702425A (zh) * | 2020-12-22 | 2021-04-23 | 杭州易安联科技有限公司 | 基于域名泛解析的web应用访问代理方法、装置和系统 |
-
2021
- 2021-06-03 CN CN202110617129.7A patent/CN113391851A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106100A1 (en) * | 2005-04-26 | 2009-04-23 | Governing Dynamics Llc | Method of digital good placement in a dynamic, real time environment |
CN106031118A (zh) * | 2013-11-11 | 2016-10-12 | 阿道罗姆股份有限公司 | 云服务安全中介和代理 |
CN107729358A (zh) * | 2017-09-01 | 2018-02-23 | 小草数语(北京)科技有限公司 | 基于浏览器的页面访问方法和装置 |
CN109889514A (zh) * | 2019-02-03 | 2019-06-14 | 郭丽 | 一种认证扫描方法及web应用扫描系统 |
US20200267045A1 (en) * | 2019-02-18 | 2020-08-20 | Sap Se | Logical networking and affinity determination of iot devices using partitioned virtual space |
CN111431746A (zh) * | 2020-03-20 | 2020-07-17 | 杭州有赞科技有限公司 | 一种api网关迁移方法及系统 |
CN112702425A (zh) * | 2020-12-22 | 2021-04-23 | 杭州易安联科技有限公司 | 基于域名泛解析的web应用访问代理方法、装置和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579199A (zh) * | 2022-02-22 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 一种服务网格中代理的扩展方法、系统及存储介质 |
CN114579199B (zh) * | 2022-02-22 | 2024-04-26 | 阿里巴巴(中国)有限公司 | 一种服务网格中代理的扩展方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107483509B (zh) | 一种身份验证方法、服务器及可读存储介质 | |
US9444903B2 (en) | Proxy based network communications | |
US9130935B2 (en) | System and method for providing access credentials | |
WO2022247090A1 (zh) | 一种请求代理方法、客户端设备及代理服务设备 | |
US9699167B1 (en) | Distributed authentication | |
US20150188779A1 (en) | Split-application infrastructure | |
WO2016188256A1 (zh) | 一种应用接入鉴权的方法、系统、装置及终端 | |
US9203839B2 (en) | User authentication method and apparatus | |
US20100077467A1 (en) | Authentication service for seamless application operation | |
US20160241536A1 (en) | System and methods for user authentication across multiple domains | |
US10257171B2 (en) | Server public key pinning by URL | |
CN113381979B (zh) | 一种访问请求代理方法及代理服务器 | |
CN109257365B (zh) | 一种信息处理方法、装置、设备和存储介质 | |
CN108092775B (zh) | 一种校验方法及装置、电子设备 | |
CN112714053B (zh) | 通信连接方法及装置 | |
CN113472790A (zh) | 基于https协议的信息传输方法、客户端及服务器 | |
CN108111486B (zh) | 一种免重复登录的方法及装置 | |
US10505902B2 (en) | Securely identifying a device using a DNS-controlled proxy | |
US11153099B2 (en) | Reestablishing secure communication with a server after the server's certificate is renewed with a certificate authority unknown to the client | |
CN114372254B (zh) | 大数据环境下的多认证授权方法 | |
CN112929388B (zh) | 网络身份跨设备应用快速认证方法和系统、用户代理设备 | |
CN113391851A (zh) | 一种代理控制方法、客户端设备及代理服务设备 | |
CN106888200B (zh) | 标识关联方法、信息发送方法及装置 | |
JP5677899B2 (ja) | 情報処理装置及び情報処理方法 | |
CN117728954B (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 |