CN112260988B - 一种异常请求处理方法和装置 - Google Patents

一种异常请求处理方法和装置 Download PDF

Info

Publication number
CN112260988B
CN112260988B CN202010973627.0A CN202010973627A CN112260988B CN 112260988 B CN112260988 B CN 112260988B CN 202010973627 A CN202010973627 A CN 202010973627A CN 112260988 B CN112260988 B CN 112260988B
Authority
CN
China
Prior art keywords
target
path
access request
proxy
mapping 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.)
Active
Application number
CN202010973627.0A
Other languages
English (en)
Other versions
CN112260988A (zh
Inventor
陈加伟
谢文伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Wangsu Co Ltd
Original Assignee
Xiamen Wangsu Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Wangsu Co Ltd filed Critical Xiamen Wangsu Co Ltd
Priority to CN202010973627.0A priority Critical patent/CN112260988B/zh
Priority to PCT/CN2020/122549 priority patent/WO2022057002A1/zh
Publication of CN112260988A publication Critical patent/CN112260988A/zh
Application granted granted Critical
Publication of CN112260988B publication Critical patent/CN112260988B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种异常请求处理方法,所述方法包括:接收目标用户发送的目标访问请求;判断所述目标访问请求是否异常,若异常,则获取所述目标访问请求中的目标真实路径,并查询与所述目标真实路径相对应的目标全局路径映射表,以判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL;若不基于所述目标全局路径映射表重构所述目标访问请求中的URL,则查询与所述目标cookie信息相对应的目标用户路径映射表,以判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL。本申请提供的技术方案,可以提高用户访问成功率。

Description

一种异常请求处理方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种异常请求处理方法和装置。
背景技术
随着网络安全形势日益严峻,为了阻断来自外部网络的攻击,越来越多的企业和机构将业务限制在内部网络中,禁止来自外部网络的访问,然而很多时候机构内部人员又需要从外部网络访问内部应用,VPN(虚拟专用网络)技术便应运而生。
WebVPN提供基于web的内网应用访问控制,允许用户访问只对内部网络开放的web应用。区别于传统VPN技术,WebVPN无需用户安装客户端软件或者浏览器插件,用户可以直接通过浏览器访问登录页面进行身份验证,这大大降低了VPN技术的使用门槛,提升了用户体验。为提高WebVPN系统的安全性,一些改进的WebVPN系统将鉴权管理环节和代理访问环节都集中在代理服务器侧,但是上述改进的WebVPN系统对用户发送的访问请求存在一些限制条件,针对用户发送的不能满足限制条件的访问请求,WebVPN系统会判定其为异常访问请求,WebVPN系统将无法对其进行鉴权管理及正确转发,从而导致用户访问失败。
鉴于此,有必要提供一种新的异常请求处理方法和装置以解决上述不足。
发明内容
本申请的目的在于提供一种异常请求处理方法和装置,可以提高用户访问成功率。
为实现上述目的,本申请一方面提供一种异常请求处理方法,所述方法应用于代理服务器,所述代理服务器中储存有全局路径映射表和用户路径映射表,所述方法包括:接收目标用户发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;判断所述目标访问请求是否异常,若异常,则获取所述目标访问请求中的目标真实路径,并查询与所述目标真实路径相对应的目标全局路径映射表,以判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL(Uniform Resource Locator,统一资源定位器);若不基于所述目标全局路径映射表重构所述目标访问请求中的URL,则查询与所述目标cookie信息相对应的目标用户路径映射表,以判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL。
为实现上述目的,本申请另一方面还提供一种异常请求处理装置,所述装置应用于代理服务器,并储存有全局路径映射表和用户路径映射表,所述装置包括:信息接收模块,用于接收目标用户发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;信息判断模块,用于判断所述目标访问请求是否异常,若异常,则获取所述目标访问请求中的目标真实路径,并查询与所述目标真实路径相对应的目标全局路径映射表,以判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL,以及在不基于所述目标全局路径映射表重构所述目标访问请求中的URL时,查询与所述目标cookie信息相对应的目标用户路径映射表,以判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL;信息重构模块,用于获取所述目标全局路径映射表中与所述目标真实路径唯一对应的第一代理路径,并基于所述第一代理路径重构所述目标访问请求中的URL,以及获取所述目标用户路径映射表中与所述目标真实路径值相对应的第二代理路径,并基于所述第二代理路径重构所述目标访问请求中的URL。
为实现上述目的,本申请另一方面还提供一种异常请求处理装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现上述异常请求处理方法。
由此可见,本申请提供的技术方案,针对用户发送的未携带代理路径的异常访问请求,代理服务器首先根据上述访问请求中的真实路径,查询全局路径映射表,以判断其中是否存在与上述真实路径唯一对应的代理路径,如果全局路径映射表中存在唯一对应的代理路径,则基于该代理路径,将上述异常访问请求补充完整;如果全局路径映射表中不存在唯一对应的代理路径,则进一步查询该用户对应的用户路径映射表,进而获取上述用户路径映射表中保存的,与上述真实路径相对应的代理路径,并基于该代理路径,将上述异常访问请求补充完整。通过上述方法,代理服务器可以将用户发送的异常访问请求重构为正常访问请求,从而使得WebVPN系统可以基于重构后的正常访问请求,进行后继的鉴权管理及转发操作,提高了用户访问内网服务的成功率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施方式中WebVPN系统的架构示意图;
图2是本申请实施方式一中异常请求处理方法的流程图;
图3是本申请实施方式二中异常请求处理方法的流程图;
图4是本申请实施方式中异常请求处理装置的功能模块示意图;
图5是本申请实施方式中异常请求处理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着网络安全形势日益严峻,为了阻断来自外部网络的攻击,越来越多的企业和机构将业务限制在内部网络中,禁止来自外部网络的访问,然而很多时候机构内部人员又需要从外部网络访问内部应用,VPN(虚拟专用网络)技术便应运而生。VPN技术可以利用公用网络架设专用网络,并通过对数据包的加密和数据包目标地址的转换实现用户的远程访问。
WebVPN属于VPN技术中的一种,它可以提供基于web的内网应用访问控制,允许用户访问只对内部网络开放的web应用。区别于传统VPN技术,WebVPN无需用户安装客户端软件或者浏览器插件,用户可以直接通过浏览器访问登录页面进行身份验证,这大大降低了VPN技术的使用门槛,提升了用户体验。为提高WebVPN系统的安全性,一些改进的WebVPN系统将鉴权管理环节和代理访问环节都集中在代理服务器侧,这就需要对内网服务的真实域名进行替换,以将真实域名统一至代理域名下,同时利用不同的路径值(即代理路径)来区分不同的内网服务。但是在实际应用中,经常出现域名替换错误的问题,例如只是将真实域名替换为代理域名,但是没有添加代理路径,这就导致用户发送的访问请求携带的信息不完整,WebVPN系统会判定其为异常访问请求,WebVPN系统将无法对其进行鉴权管理及正确转发,从而导致用户访问失败。
因此,如何处理用户发送的异常访问请求,提高用户访问内网服务的成功率,便成为本领域亟需解决的课题。
本申请提供的技术方案可以解决上述不足。
为便于理解本申请中涉及到的cookie的内容,下面对其进行简要介绍。
cookie用于存储用户状态信息,以创建和web服务器无缝连接的效果,cookie通常用于处理用户的优先选择并跟踪会话变量,以方便服务器端使用。cookie的处理过程可以理解为:客户端通过浏览器向服务器发送连接请求,服务器在接收到上述请求后,将根据客户端提供的信息生成一个Set-cookie,服务器将生成的Set-cookie存放在HTTP应答报文中并回传给客户端,客户端在接收到上述HTTP应答报文后,会将Set-cookie的内容从HTTP应答报文中取出,并基于Set-cookie的内容生成一个cookie信息,并且客户端会在本地保存上述cookie信息,之后每次http请求浏览器都会将相应的cookie信息发送给服务器。
Set-cookie的格式如下:
Set-cookie:name=value;domain=DOMAIN_NAME;path=PATH;expires=DATE;secure
其中,name字段用于定义cookie信息的名称,value字段用于存储cookie信息中的字符串值,domain字段用于定义cookie信息对于哪个域名是有效的,path字段用于定义cookie信息影响到的路径,expires字段用于定义cookie信息的失效时间,secure字段用于标记安全标志。需要指出的是,当domain字段为空时,浏览器只允许发布该cookie的主机进行访问。
当浏览器接收到服务器发送的Set-cookie后,将解析上述Set-cookie以生成cookie信息,并将生成的cookie信息保存在本地。通常浏览器本地储存有大量不同的cookie信息,而浏览器在向服务器发送HTTP请求时,会基于HTTP请求中的URL信息来判断将哪个cookie信息放入HTTP报文中,具体的,浏览器将以HTTP请求中URL信息中包含的域名、路径为标准,对本地保存的cookie信息进行筛选,若某一个cookie信息中的domain字段和path字段符合上述标准,浏览器将把该cookie信息放入上述HTTP请求的报文头部。
请参阅图1,为本申请实施方式中WebVPN系统的架构示意图。
在本实施方式中,鉴权服务器用于对用户的登录请求进行验证,源站负责提供内网应用服务,代理服务器相当于VPN网关,代理服务器可通过VPN网络与内网服务器建立通信连接,其中,VPN网络可基于SD-WAN(Software-Defined Wide Area Network)网络架构实现。同时代理服务器还可以收集内部网络中各个内网应用的真实域名,即公网域名,并按照预设规则将上述各个真实域名收敛至VPN的代理域名之下,然后建立真实域名和收敛后的域名(即虚拟域名)之间的映射关系,并将上述映射关系储存在本地映射表中。
在实际应用中,当用户需要登录内部网络时,用户可以通过浏览器打开VPN登录页面,然后输入账号及密码,浏览器将基于用户输入的信息生成登录请求,该登录请求将通过代理服务器转发至鉴权服务器,鉴权服务器根据预先储存的用户信息对接收到登录请求进行验证,并基于验证结果将用户关键信息(例如验证信息、用户ID、授权内容等)反馈给代理服务器,代理服务器在接收到上述用户关键信息后,可以将用户关键信息储存在本地。
用户后继发送的访问请求在到达代理服务器后,代理服务器将基于保存的用户关键信息对其进行认证鉴权管理,通过认证鉴权的访问请求,代理服务器可以将其发送至对应的内网源站以获取资源,未通过认证鉴权的访问请求,代理服务器将拒绝其访问内部网络。内网源站反馈的信息将通过代理服务器发送至用户,从而使得用户最终实现对内网应用的访问。
在本实施方式中,代理服务器负责认证鉴权环节和应用访问环节,鉴权服务器反馈的用户关键信息无需保存在用户端,从而避免了用户关键信息的泄露。
请一并参阅图2和图3。图2为本申请实施方式一中异常请求处理方法的流程图,上述异常请求处理方法应用于代理服务器。
S101:接收目标用户发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息。
在本实施方式中,当某一个用户(即目标用户)通过登录验证,获准通过VPN网络访问内网应用后,该目标用户便可以选择访问内部网络中的各种内网服务。具体而言,当上述目标用户需要访问某一个内网服务(即目标服务)时,该目标用户可以选择网页上相应的标签,以使得浏览器可以基于目标用户的选择生成相应的访问请求(即目标访问请求)。同时,浏览器将基于目标访问请求中携带的域名信息和路径信息,从本地保存的多个cookie信息中选择出对应的cookie信息(即目标cookie信息),然后将目标cookie信息放入HTTP请求的头部信息中,亦即目标访问请求中将携带目标cookie信息。
在本发明的实施例中,为了使得目标访问请求可以被代理服务器接收,需要预先将用户侧的内网应用的域名进行转换,具体处理方式如下:
代理服务器可以预先建立本地映射表,并在本地映射表中储存域名映射关系。
在一个实施方式中,代理服务器建立本地映射表可以通过如下方式实现:
首先,获取各个内网应用的真实域名,并基于代理域名下的不同路径值,建立各个所述真实域名与所述路径值之间的域名映射关系;
然后,将所述域名映射关系储存于所述本地映射表中。
在一个实施方式中,代理服务器可以预先收集内部网络中各个内网应用的真实域名,然后为各个真实域名设置对应的虚拟域名。具体的,代理服务器可以将上述各个真实域名统一收敛到代理服务器域名(即代理域名)之下,并通过在代理域名下设置不同的路径值(例如path1、path2、path3等),标记不同的真实域名,从而建立各个真实域名与虚拟域名之间的域名映射关系,其中虚拟域名为代理域名和路径值的组合。
例如,假设代理服务器收集到如下三个真实域名a.baidu.com、b.baidu.com、c.sina.com,而代理域名为wsvpn.cn,那么代理服务器可以将a.baidu.com映射至wsvpn.cn/path1,将b.baidu.com映射至wsvpn.cn/path2,将c.sina.com映射至wsvpn.cn/path3,从而建立a.baidu.com与path1的域名映射关系,b.baidu.com与path2的域名映射关系,c.sina.com与path3的域名映射关系。
当代理服务器建立真实域名与代理路径之间的域名映射关系后,代理服务器可以将上述域名映射关系以数据库的形式保存在本地储存设备中。通过查询本地映射表,代理服务器可以根据真实域名查找到对应的代理路径,或者根据代理路径查找到对应的真实域名。
在实际应用中,目标用户在获准登录内部网络之前,目标用户需要首先向鉴权服务器发送登录请求。具体的,目标用户可以通过浏览器打开登录页面,然后输入账号及密码,浏览器将基于目标用户输入的信息生成登录请求,该登录请求将通过代理服务器转发至鉴权服务器,鉴权服务器根据预先储存的用户信息对接收到登录请求进行验证,并基于验证结果生成认证信息,上述认证信息中包含有用户关键信息(例如验证信息、用户ID、授权内容等),然后鉴权服务器将把上述认证信息发送至代理服务器,代理服务器在接收到上述认证信息后,可以将用户关键信息储存在本地,并生成响应信息发送给目标用户。
在一个实施方式中,鉴权服务器生成的认证信息中至少包括目标授权内容、目标用户标识和第一操作页面。目标授权内容用于限定上述目标用户可以访问哪些内网服务,目标授权内容可以通过可访问服务的真实域名和/或URL体现,即将目标用户可以访问的内网服务的真实URL域名和/或写入上述目标授权内容中;目标用户标识用于表示目标用户的唯一识别码,目标用户标识可以是鉴权服务器基于目标用户输入的账号及密码生成的唯一标识码;第一操作页面为目标用户的操作页面,例如内网应用的索引页,目标用户可以通过选择第一操作页面上的不同选项访问不同的内网应用,其通常为HTML页面。
需要特别指出的是,鉴权服务器生成的认证信息中还可以包括一个Set-cookie(为便于叙述,下文将其称为第一cookie设置信息)。
在一个实施方式中,当代理服务器接收到上述认证信息后,代理服务器可以基于目标用户标识和/或目标授权内容生成目标cookie信息,并将生成的目标cookie信息与目标用户标识进行绑定,这样当代理服务器接收到一个携带有目标cookie信息的访问请求时,便可以根据目标cookie信息查询到对应的目标用户标识,进而代理服务器便可以确定该访问请求是由目标用户发送的。
进一步的,代理服务器还可以将目标cookie信息与目标授权内容进行绑定,从而建立目标cookie信息与目标授权内容之间的目标授权映射关系。通过上述目标授权映射关系,代理服务器可以根据目标cookie信息查找到对应的目标授权内容,从而根据目标授权内容对目标访问请求进行鉴权管理。在实际应用中,代理服务器可以将上述目标授权映射关系储存于授权映射表中,同时将上述目标授权内容和目标用户标识保存在本地储存设备中。
代理服务器基于目标用户标识和/或目标授权内容生成目标cookie信息可以通过如下方式实现:
首先,基于目标用户标识和/或目标授权内容生成目标value值;
然后,将所述目标value值封装为目标cookie设置信息的value值,以根据所述目标cookie设置信息生成所述目标cookie信息。
在一个实施方式中,代理服务器可以提取目标用户标识和/或目标授权内容中的信息,然后利用加密算法(例如MD5算法、SHA1算法等)对提取到信息进行加密,从而得到一个新的字符串值(即目标value值)。
需要特别指出的是,上述通过对提取到的目标用户标识和/或目标授权内容信息进行加密,从而得到目标value值只是示意性的,并不是对本申请的限制,基于本申请的思想,本领域的技术人员也可以利用其它信息生成目标value值,例如对目标用户标识和/或目标授权内容和/或随机数进行加密,或者对第一cookie设置信息中的value值/全部字段信息进行加密,从而生成目标value值。
当代理服务器生成目标value值后,代理服务器可以将其作为新的Set-cookie(即目标cookie设置信息)的value值,并将其写入目标cookie设置信息的value字段(即将其封装为目标cookie设置信息的value值),从而生成目标cookie设置信息。当代理服务器生成目标cookie设置信息之后,代理服务器将根据上述目标cookie设置信息中的内容生成一个cookie文本文件(即目标cookie信息)。
在一个实施方式中,代理服务器可将目标cookie设置信息中的name值设置为相同且可识别的,那么当代理服务器接收到浏览器的访问请求时,可先根据访问请求中携带的cookie信息中的name值来判断该访问请求中是否携带有目标cookie信息,若携带有目标cookie信息,则可以进一步对授权内容进行验证,若没有携带目标cookie信息,则可直接将其识别为非法访问,代理服务器可以向浏览器返回登录页面,以通知该用户重新进行登录。
需要特别指出的是,针对不同的用户,鉴权服务器反馈的认证信息是不同的(即不同的用户具有不同的用户标识和授权内容),并且鉴权服务器反馈的第一cookie设置信息中的value值也是不同的,因此针对不同的用户,代理服务器基于用户标识和/或授权内容生成的cookie信息也是不同的,即每一个用户都存在唯一对应的cookie信息,同时每一个用户都存在唯一的cookie信息与授权内容的映射关系,如此便可以通过上述生成的cookie信息查找到对应的用户标识,同时利用cookie信息与授权内容之间的映射关系,对不同用户进行认证鉴权管理。需要指出的是,授权映射表中存储有各个用户的cookie信息与对应授权内容之间的映射关系,在一实施方式中,授权映射表中存储有cookie信息的value值与对应授权内容之间的映射关系,如此一来,代理服务器可基于目标cookie信息中的value值查询到授权映射表中的授权内容。
需要特别指出的是,若要通过目标cookie信息查询到目标用户标识,以及通过代理服务器对浏览器发送的目标访问请求进行认证鉴权管理,则上述目标访问请求需要携带目标cookie信息,以便代理服务器通过目标cookie信息查找到目标用户标识和目标授权内容。由于浏览器在接收到不同的Set-cookie后会生成不同的cookie信息,而浏览器在发送访问请求时是根据域名信息和路径信息来选择合适的cookie信息的,因此为保证浏览器发送的访问请求可以携带目标cookie信息,需要对代理服务器生成的目标cookie设置信息,以及浏览器发送的访问请求进行设置。
一方面,针对目标cookie设置信息,代理服务器可以将目标cookie设置信息中的domain字段设置为空,并将目标cookie设置信息中的path字段设置为“/”,这样,当目标访问请求中URL携带的域名包含代理域名时,浏览器在生成针对内网应用的访问请求时便会自动携带目标cookie信息。
另一方面,由于鉴权服务器反馈的第一操作页面是基于内网应用的真实域名产生的,因此第一操作页面中包含的所有内网应用的域名都是真实域名,若要使浏览器发送的目标访问请求中URL携带的域名为代理域名,则代理服务器需要对第一操作页面进行重构,以得到一个新的操作页面(即第二操作页面),其中,第二操作页面中包含的所有内网应用的域名为代理域名。
代理服务器根据本地映射表将第一操作页面重构为第二操作页面,可以通过如下方式实现:
首先,获取第一操作页面中包含的各个内网应用的真实域名;
然后,根据本地映射表,查找与真实域名相对应的代理路径,并将真实域名修改为虚拟域名,其中,虚拟域名为代理域名和代理路径的组合。
在一个实施方式中,代理服务器可以解析第一操作页面,以获取第一操作页面中包含的各个内网应用的真实域名。在获取到第一操作页面中包含的各个真实域名后,代理服务器可以查询本地映射表,进而获取到与上述真实域名相对应的代理路径,然后代理服务器可以使用代理域名和代理路径的组合(即虚拟域名)替换上述真实域名,从而得到一个包含有代理域名的新的操作页面(即第二操作页面),基于此,浏览器基于第二操作页面生成的访问请求可被代理服务器接收。
继续以上文的举例进行说明,a.baidu.com与path1对应,b.baidu.com与path2对应,c.sina.com与path3对应,代理域名wsvpn.cn,则代理服务器可以将www.a.baidu.com替换为www.wsvpn.cn/path1,将www.b.baidu.com替换为www.wsvpn.cn/path2,将www.c.sina.com替换为www.wsvpn.cn/path3,基于新得到虚拟域名,代理服务器可以对第一操作页面进行重构,从而得到包含有代理域名的第二操作页面。
需要特别指出的是,针对内网应用原有的真实路径,代理服务器在进行页面重构时会对其保留。例如,假设某一个内网应用在第一操作页面中的URL为:www.a.baidu.com/ index.html,那么代理服务器在进行页面重构时,将保留其真实路径(即index.html),在第二操作页面中其URL将被替换为:www.wsvpn.cn/path1/index.html
在一个实施方式中,当代理服务器生成目标cookie设置信息和第二操作页面后,代理服务器可以将上述目标cookie设置信息和第二操作页面作为响应信息发送至浏览器,从而使得浏览器可以基于目标cookie设置信息生成目标cookie信息,以及基于第二操作页面发送访问请求,并可以在发送的访问请求中携带目标cookie信息。同时,由于第二操作页面中的所有内网应用的域名已替换为虚拟域名,因此,基于第二操作页面产生的访问请求会被dns解析到代理服务器下,从而被代理服务器所接收。
需要指出的是,代理服务器在对第一操作页面进行重构时,可能出现错误,从而导致浏览器在基于第二操作页面发送访问请求时,访问请求中携带的信息不完整。例如,代理服务器在对第一操作页面进行重构时,仅将www.a.baidu.com替换为www.wsvpn.cn,这就使得用户在访问www.a.baidu.com时,浏览器发送的访问请求中并缺少代理路径(即path1);或者由于html编码规则的设定,使得代理服务器无法对第一操作页面内的URL改写完全,出现仅包含代理域名,但不包含代理路径的情形,进而导致用户通过浏览器发出的访问请求中的虚拟域名存在错误,如此,代理服务器就无法基于虚拟域名获取到对应的真实域名,从而出现访问异常的情况。
需要特别指出的是,在鉴权过程中,代理服务器并不会将用户关键信息发送至浏览器,而是将其保存在本地储存设备中,这样不论在在浏览器侧,还是在外网通信过程中,非法拦截者都无法获取到用户关键信息,从而保证了用户关键信息不会被泄露。
需要特别指出的是,代理服务器将各个内网应用的真实域名统一收敛到代理域名之下,这样浏览器将只需要管理代理服务器的SSL证书,这极大的减少了浏览器管理SSL证书的开销。
在一个实施方式中,代理服务器还可以对第一cookie设置信息修改,例如将第一cookie设置信息中的domain字段设置为空,并将第一cookie设置信息中的path字段设置为“/”,然后将修改后的第一cookie设置信息发送至浏览器,这样,浏览器便可以基于修改后的第一cookie设置信息生成第一cookie信息。当浏览器发送访问请求时,便可以在上述访问请求中携带第一cookie信息,而当用户再次访问鉴权服务器时(例如请求刷新页面),可自动携带第一cookie信息。
S102:判断所述目标访问请求是否异常,若异常,则获取所述目标访问请求中的目标真实路径,并查询与所述目标真实路径相对应的目标全局路径映射表,以判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL。
在本实施方式中,当代理服务器接收到上述目标访问请求后,代理服务器可以首先判断上述目标访问请求是否异常。具体的,代理服务器可以判断目标访问请求的URL信息中是否存在代理路径(即目标代理路径),如果目标访问请求中存在目标代理路径,则代理服务器可以判断上述目标访问请求正常;如果目标访问请求中不存在目标代理路径,则代理服务器可以判断上述目标访问请求异常。
在一个实施方式中,当代理服务器判断上述目标访问请求正常后,代理服务器便可以根据目标cookie信息查找到对应的目标授权内容,从而根据目标授权内容对目标访问请求进行鉴权管理。关于代理服务器如何根据目标授权内容对目标访问请求进行鉴权管理的内容,将在后文进行详细叙述。
需要特别指出的是,针对代理服务器接收到的任意一个访问请求,代理服务器都将首先判断该访问请求中是否存在代理路径,如果该访问请求中存在代理路径,代理服务器将获取该访问请求中的真实路径和代理路径,并建立上述真实路径和代理路径之间的路径映射关系。通过不断重复上述操作,代理服务器便可以获取各个访问请求中真实路径和代理路径之间的路径映射关系,然后代理服务器可以基于上述路径映射关系,建立以各个真实路径为标记的全局路径映射表,以及以各个用户标识为标记的用户路径映射表。
继续以上文的举例进行说明,假设代理服务器依次接收到四个访问请求,其对应的URL信息分别为访问请求1:https://www.wsvpn.cn/path1/index.html,访问请求2:https://www.wsvpn.cn/path1/info.html,访问请求3:www.wsvpn.cn/path2/index.html,访问请求4:www.wsvpn.cn/path2/index.html,其中,访问请求1、访问请求2、访问请求4为用户A发送,访问请求3为用户B发送,那么代理服务器通过解析上述访问请求,可以确定path1与index.html对应,path1与info.html对应,path2与index.html对应,代理服务器便可以在真实路径index.html下绑定path1和path2,在真实路径info.html下绑定path1,从而建立真实路径index.html的全局路径映射表,以及真实路径info.html的全局路径映射表,即真实路径index.html的全局路径映射表中存在两个代理路径path1和path2,真实路径info.html的全局路径映射表中存在一个代理路径path1。
代理服务器还可以根据上述三个访问请求中携带的目标cookie信息,查找到对应的用户标识,从而确定访问请求1、访问请求2、访问请求4为用户A发送,访问请求3为用户B发送,如此,代理服务器便可以根据接收到的访问请求的先后顺序,建立用户A的用户路径映射表,以及用户B的用户路径映射表,即用户A的用户路径映射表中存在info.html和path1的映射关系,以及index.html和path2的映射关系,用户B的用户路径映射表中存在index.html和path2的映射关系。
需要特别指出的是,由于代理服务器每接收到一个访问请求,都将进行上述操作,因此全局路径映射表和用户路径映射表是动态变化的。在实际应用中,每当代理服务器接收到一个正常的访问请求,代理服务器都会将该访问请求中的代理路径添加至该访问请求中真实路径的全局路径映射表中,因此某一个真实路径的全局路径映射表中可能存在一个或者多个对应的代理路径。
由于用户在一个时间段内访问的内网应用基本都是当前域名的资源,因此其发送的访问请求中,真实路径跟最新的代理路径大概率可直接关联。为提升访问成功率,代理服务器可以基于最新接收到的正常访问请求,建立该访问请求中的真实路径和代理路径之间的映射关系,并更新相应的用户路径映射表,这样任意一个用户标识对应的用户路径映射表中,一个真实路径只存在一个最新的代理路径与其对应。应当指出的是,某一个用户标识对应的用户路径映射表中,可能存在多条真实路径和代理路径的映射关系,但在上述每一条映射关系中,真实路径都只存在一个对应的代理路径。
在一个实施方式中,当代理服务器判断上述目标访问请求异常后,代理服务器可以解析上述目标访问请求,以获取目标访问请求中的URL信息携带的真实路径(即目标真实路径),然后代理服务器可以查找本地保存的各个真实路径的全局路径映射表,进而获取到目标真实路径的全局路径映射表(即目标全局路径映射表)。当代理服务器查找到目标全局路径映射表后,代理服务器便可以判断是否基于上述目标全局路径映射表重构目标访问请求中的URL。
代理服务器判断是否基于目标全局路径映射表重构目标访问请求中的URL,可以通过如下方式实现:
首先,判断目标全局路径映射表中是否存在目标代理路径集合,如果目标全局路径映射表中存在目标代理路径集合,则判断目标代理路径集合中包含的代理路径是否唯一,如果目标代理路径集合中包含的代理路径唯一,则基于目标全局路径映射表重构目标访问请求中的URL;如果目标代理路径集合中包含的代理路径不唯一,则不基于目标全局路径映射表重构目标访问请求中的URL。
在实际应用中,当代理服务器查找到目标全局路径映射表后,代理服务器可以解析上述目标全局路径映射表,从而判断上述目标全局路径映射表中是否存在对应的代理路径(即目标代理路径集合),如果代理服务器确定目标全局路径映射表中存在目标代理路径集合,则代理服务器可以进一步判断目标代理路径集合中包含的代理路径是否唯一,如果目标代理路径集合中包含的代理路径是唯一的,则可将上述唯一的代理路径视为目标访问请求所缺失的信息,代理服务器便可以基于目标全局路径映射表重构目标访问请求中的URL,此时,代理服务器可以进入步骤S103。
需要特别指出的是,如果代理服务器判断上述目标全局路径映射表中不存在目标代理路径集合,代理服务器可以向目标用户反馈异常消息。
如果目标全局路径映射表中存在目标代理路径集合,但是目标代理路径集合中包含的代理路径不是唯一的,那么代理服务器将无法根据目标代理路径集合确定目标访问请求所缺失的信息,因此代理服务器无法基于目标全局路径映射表重构目标访问请求中的URL,此时,代理服务器可以进入步骤S104。
S103:若基于所述目标全局路径映射表重构所述目标访问请求中的URL,则获取所述目标全局路径映射表中与所述目标真实路径唯一对应的第一代理路径,并基于所述第一代理路径重构所述目标访问请求中的URL。
在本实施方式中,当代理服务器判断目标代理路径集合中存在唯一的代理路径后,代理服务器可以基于目标全局路径映射表重构目标访问请求中的URL。具体的,代理服务器可以将上述唯一的代理路径(即第一代理路径)添加到目标访问请求的URL信息中,从而将目标访问请求修改为符合WebVPN系统要求的正常访问请求。
继续以上文的举例进行说明,假设某一用户发送的异常访问请求为:https:// www.wsvpn.cn/info.html,代理服务器通过查询info.html的全局路径映射表,发现其中存在唯一的代理路径path1,那么代理服务器可以将path1添加到原URL信息中,将其修改为https://www.wsvpn.cn/path1/info.html,这样原来的异常访问请求便被重构为符合WebVPN系统要求的正常访问请求。
在一个实施方式中,当代理服务器完成目标访问请求中的URL的重构后,代理服务器可以将上述重构后的URL通过重定向至目标用户,例如,通过307跳转的方式,将重构后的URL发送给目标用户,从而使得目标用户浏览器可以自动基于重构后的URL生成新的目标访问请求,并将上述新目标访问请求发送至代理服务器。此时,上述重构后的URL中存在代理路径,因此代理服务器在接收到上述新的目标访问请求后,将判断其为正常访问请求,代理服务器便可以对其进行鉴权管理。
S104:若不基于所述目标全局路径映射表重构所述目标访问请求中的URL,则查询与所述目标cookie信息相对应的目标用户路径映射表,以判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL。
在本实施方式中,当代理服务器判断无法基于目标全局路径映射表重构目标访问请求中的URL后,代理服务器可以通过目标cookie信息查找对应的目标用户标识,然后根据查找到的目标用户标识,查询目标用户标识对应的目标用户路径映射表,进而判断是否基于目标用户路径映射表重构目标访问请求中的URL。具体的,代理服务器可以判断目标用户路径映射表中,是否存在与目标真实路径值相对应的代理路径(即第二代理路径),如果目标用户路径映射表中存在第二代理路径,代理服务器可以将上述第二代理路径添加到目标访问请求的URL信息中,从而将目标访问请求修改为符合WebVPN系统要求的正常访问请求;如果目标用户路径映射表中不存在第二代理路径,代理服务器将无法为目标访问请求确定合适的代理路径,代理服务器可以向目标用户反馈异常消息。
继续以上文的举例进行说明,假设用户A发送的异常访问请求为:https:// www.wsvpn.cn/index.html,代理服务器通过查询index.html的全局路径映射表,发现其中存在两个代理路径path1和path2,因此,代理服务器进一步查询用户A的用户路径映射表,获取到index.html和path2相对应,那么代理服务器可以将path2添加到原URL信息中,将其修改为https://www.wsvpn.cn/path2/index.html,这样原来的异常访问请求中的URL便被重构为符合WebVPN系统要求的正常形式。
在一个实施方式中,当代理服务器完成目标访问请求中的URL的重构后,代理服务器可以将上述重构后URL通过重定向至目标用户,例如,通过307跳转的方式,将重构后的URL发送给目标用户,从而使得目标用户浏览器可以自动基于重构后的URL生成新的目标访问请求,并将上述新目标访问请求发送至代理服务器。此时,上述重构后的URL中存在代理路径,因此代理服务器在接收到上述新的目标访问请求后,将判断其为正常访问请求,代理服务器便可以对其进行鉴权管理。
由此可见,本申请提供的技术方案,针对用户发送的未携带代理路径的异常访问请求,代理服务器首先根据上述访问请求中的真实路径,查询全局路径映射表,以判断其中是否存在与上述真实路径唯一对应的代理路径,如果全局路径映射表中存在唯一对应的代理路径,则基于该代理路径,将上述异常访问请求补充完整;如果全局路径映射表中不存在唯一对应的代理路径,则进一步查询该用户对应的用户路径映射表,进而获取上述用户路径映射表中保存的,与上述真实路径相对应的代理路径,并基于该代理路径,将上述异常访问请求中的URL补充完整。通过上述方法,代理服务器可以实现将用户发送的异常访问请求转换为正常访问请求,从而使得WebVPN系统可以基于正常访问请求,进行后继的鉴权管理及转发操作,提高了用户访问内网服务的成功率。
在一个实施方式中,代理服务器可以对接收到的目标访问请求进行鉴权管理。具体的,代理服务器可以解析目标访问请求的HTTP请求头部信息,以获取目标cookie信息,值得注意的是,如上文所述,代理服务器可根据目标访问请求中携带的cookie信息的name值来确定携带的cookie信息是否为目标cookie信息,若不是,则可直接确定本次访问为无权访问,代理服务器可以向浏览器返回登录页面,以通知目标用户重新进行登录;若是,则表示发送目标访问请求的目标用户可能已通过授权认证,并具有访问内网资源的权限。
在获取到目标cookie信息后,代理服务器可以查询授权映射表,进而判断授权映射表中是否存在与目标cookie信息相对应的目标授权内容,如果授权映射表中存在与目标cookie信息相对应的目标授权内容,则说明目标用户已经通过鉴权服务器的认证,上述目标用户具有访问内网资源的权限,需要指出的是,由于此时代理服务器仅需判断目标用户是否具有访问内网资源的权限,并不判断目标用户是否可以访问上述目标访问请求指向的目标源站,因此代理服务器此时无需对查询到的目标授权内容进行解析。
如果代理服务器无法查询到与目标cookie信息相对应的目标授权内容,则说明目标用户没有通过鉴权服务器的认证,目标cookie信息可能是伪造的,目标用户不具有访问内网资源的权限,代理服务器将拒绝访问目标访问请求指向的目标源站,代理服务器可以向浏览器返回登录页面,以通知目标用户重新进行登录。
在一个实施方式中,当代理服务器判断目标用户具有访问内网资源的权限后,代理服务器可以进一步判断目标用户是否可以访问上述目标访问请求指向的目标源站。具体的,代理服务器可以解析目标访问请求,从而获取到目标访问请求中的URL信息,然后代理服务器可以对上述URL信息进行解析,从而得到域名信息(即虚拟域名),当代理服务器获取到虚拟域名后,代理服务器便可以判断上述虚拟域名是否存在于目标授权内容中。
在一个实施方式中,代理服务器判断虚拟域名是否存在于目标授权内容中,可以通过如下方式实现:
首先,根据本地映射表,查找目标访问请求携带的虚拟域名对应的真实域名;
然后,判断上述真实域名是否存在于目标授权内容中。
由于目标访问请求是基于第二操作页面发送的,而第二操作页面中包含的是代理域名和路径值的组合(即虚拟域名),因此目标访问请求中的目标URL,其携带的域名为虚拟域名。在实际应用中,代理服务器可以对目标URL进行解析,以获取上述目标URL中携带的虚拟域名,然后根据本地映射表,查找与上述虚拟域名相对应的真实域名。在查找到上述对应的真实域名后,代理服务器便可以查询保存在本地储存设备中的目标授权内容,以判断上述真实域名是否存在于目标授权内容中。
继续以上文的举例进行说明,假设目标URL为https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm,那么代理服务器可以根据本地映射表,查询到www.wsvpn.cn/path1对应于www.a.baidu.com,然后代理服务器可以查询保存在本地的授权内容,将www.a.baidu.com与授权内容中的域名信息进行比对,进而判断www.a.baidu.com是否存在于上述授权内容中,如果存在,则说明目标用户可以访问https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm;如果不存在,则说明目标用户不可以访问https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm。
在一个实施方式中,授权内容可进一步具体到URL,相应的,代理服务器可先通过上述方式查找到虚拟域名对应的真实域名,并将目标访问请求中的URL的虚拟域名修改为真实域名,进而基于修改后的URL查询授权内容,以确定目标用户是否有访问权限。
如果上述虚拟域名存在于目标授权内容中,则说明目标用户可以访问上述目标访问请求指向的页面,代理服务器便可以基于上述目标访问请求,向目标访问请求指向的目标源站发起访问请求;如果上述虚拟域名不存在于目标授权内容中,则说明目标用户不可以访问上述目标访问请求指向的页面,代理服务器可以向浏览器返回403状态码,以通知目标用户无权访问目标源站。
需要特别指出的是,代理服务器利用目标cookie信息进行认证鉴权,还可以解决不同的用户使用同一个账号和密码同时登录内部网络的问题。
在一个实施方式中,假设如果两个不同的用户(为便于叙述,本申请将其称为A用户和B用户)都获取到一个登录内部网络的账号和密码,如果A用户首先登录了内部网络,那么鉴权服务器将向A用户反馈一个第一cookie设置信息(记为Set-cookie1)和授权内容,然后代理服务器基于Set-cookie1和/或随机数生成目标cookie设置信息(记为Set-cookie2),同时代理服务器将在本地保存目标cookie信息(记为cookie2,基于Set-cookie2生成)与授权内容的映射关系。在之后的某一个时刻,B用户使用相同的账号和密码登录了内部网络,那么鉴权服务器将向A用户反馈另一个第一cookie设置信息(记为Set-cookie3)和授权内容,然后代理服务器基于Set-cookie3和/或随机数生成另一个目标cookie设置信息(记为Set-cookie4),同时代理服务器将在本地保存新的目标cookie信息(记为cookie4,基于Set-cookie4生成)与授权内容的映射关系。
由于Set-cookie1中的value值与Set-cookie3中的value值并不相同,两次的随机数也是不同的,因此Set-cookie2与Set-cookie4也不相同,相应的,cookie2与cookie4也不相同,然而对于同一个账号,鉴权服务器反馈的用户关键信息,如用户ID是相同的,因此代理服务器在针对用户保存cookie信息时,cookie4将覆盖cookie2,即代理服务器本地保存的始终是最新的目标cookie信息与授权内容的映射关系。当A用户再次访问内部网络时,A用户发送的访问请求将携带cookie2,由于代理服务器此时本地保存的是cookie4与授权内容的映射关系,因此,代理服务器将无法通过cookie2查询到相应的授权内容(即无法在授权映射表中查询到与目标cookie信息相对应的目标授权内容),代理服务器将拒绝访问目标访问请求指向的目标源站,此时代理服务器可以向A用户返回登录页面,这样A用户将无法再次访问内部网络。
如果A用户再次使用上述账号和密码登录内部网络,基于同样的原理,B用户将无法再次访问该内部网络。这样,代理服务器利用目标cookie信息进行认证鉴权,便可以使不同的用户无法使用同一个账号和密码同时访问内部网络。
在实际应用中,由于目标访问请求中的目标URL携带的域名为虚拟域名,因此代理服务器无法直接通过目标URL访问目标访问请求指向的目标源站。
在一个实施方式中,代理服务器在访问上述目标源站之前可以将目标访问请求中携带的虚拟域名修改为对应的真实域名,具体的,代理服务器可以根据本地映射表,查询到与目标URL携带的虚拟域名相对应的真实域名,然后用上述真实域名替换目标URL中的虚拟域名,从而得到一个包含有上述真实域名的新的URL,最后将目标访问请求中携带的目标URL修改为上述新的URL,这样代理服务器便可以基于上述新的URL向目标源站发送请求,以访问目标源站。
在一个实施方式中,当代理服务器访问目标源站后,目标源站可以向请求发送方(即代理服务器)反馈用户响应信息,上述用户响应信息中可包括第三cookie设置信息,在实际应用中,上述第三cookie设置信息中的domain字段保存的信息通常为目标应用的泛域名。
当代理服务器接收到上述用户响应信息后,代理服务器可以对第三cookie设置信息进行解析,以获取其中的domain信息,并且代理服务器可以根据上述第三cookie设置信息的内容生成第三cookie信息,以建立domain信息与第三cookie信息的映射关系,这样,代理服务器通过泛域名便可以查询到对应的第三cookie信息。
在一个实施方式中,当用户选择了同一泛域名下的其它应用时,浏览器可以基于用户的选择生成对应的访问请求(即第二目标访问请求),第二目标访问请求中将携带目标cookie信息。当代理服务器接收到上述第二目标访问请求后,先基于目标cookie信息对其进行授权认证,并在认证通过后,根据第二目标访问请求中包含的虚拟域名所对应的真实域名,从domain信息与第三cookie信息的映射关系中,查找对应的第三cookie信息。当代理服务器查找到对应的第三cookie信息后,可以将上述第三cookie信息添加到第二目标访问请求中,同时,代理服务器将利用真实域名替换虚拟域名,以对第二目标访问请求进行重构,然后向第二目标访问请求指向的内网应用发送重构后的第二目标访问请求,以请求相应的资源。
当目标源站接收到上述重构后的第二目标访问请求后,可以对第三cookie信息中保存的信息进行解析。基于解析的结果,目标源站可以判断上述第二目标访问请求是否合法,若合法,目标源站便可以向代理服务器发送响应资源;若不合法,目标源站可以向代理服务器发送403状态码。
继续以上文的举例进行说明,假设目标源站提供的应用服务1对应的真实域名为a.baidu.com,应用服务2对应的真实域名为b.baidu.com,上述两个真实域名都位于泛域名.baidu.com之下。当用户通过代理服务器访问应用服务1后,代理服务器将接收到应用服务1返回的第三cookie设置信息,然后代理服务器将建立.baidu.com与第三cookie信息的映射关系,从而使得代理服务器通过.baidu.com查找到第三cookie信息。
当目标用户需要访问应用服务2时,由于目标cookie信息中的domain字段为空,path字段为“/”,因此浏览器生成的访问请求(即第二目标访问请求)将携带目标cookie信息,代理服务器可基于目标cookie信息对第二访问请求的进行授权验证。
更进一步的,代理服务器根据第二目标访问请求中携带的虚拟域名(即wsvpn.cn/path2),查找本地映射表,获取对应的真实域名b.baidu.com,进而获取到对应的泛域名.baidu.com,然后根据domain信息与第三cookie信息的映射关系,查找到对应的第三cookie信息,之后代理服务器可以将上述第三cookie信息放入第二目标访问请求中。同时,代理服务器可将其中的虚拟域名修改为对应的真实域名,以实现对第二目标访问请求进行重构,并向应用服务2的源站发送重构后的第二目标访问请求,使得应用服务2可直接基于第三cookie信息进行用户行为关联。
在一个实施方式中,代理服务器还可以根据所述本地映射表重构所述第三cookie设置信息。具体的,代理服务器可以根据第三cookie设置信息中domain字段的真实域名,查询与该真实域名相对应的虚拟域名,然后将上述虚拟域名添加到第三cookie设置信息的path字段中,同时,代理服务器将第三cookie设置信息中的domain字段设置为空。
代理服务器在完成第三cookie设置信息的重构后,可以将重构后的第三cookie设置信息发送至浏览器。这样,当目标用户需要再次访问该内网应用时,浏览器便可以在此次发送的访问请求中携带第三cookie信息(基于重构后的第三cookie设置信息生成),从而保证cookie机制的正常运行,避免浏览器在发送请求时,没有正确携带对应的cookie信息,导致无法访问。
继续以上文的举例进行说明,当代理服务器访问应用服务1后,代理服务器将接收到应用服务1返回的第三cookie设置信息,此时代理服务器可以对第三cookie设置信息进行重构,将第三cookie设置信息的domain字段设置为空,并在第三cookie设置信息的path字段中添加wsvpn.cn/path1,然后将重构后的第三cookie设置信息发送至浏览器。这样,当目标用户需要访问应用服务1提供的资源时,浏览器发送的访问请求将携带第三cookie信息,这就保证了cookie机制的正常运行,浏览器便可以对应用服务1进行正常访问。
在一个实施方式中,目标源站反馈的用户响应信息中还包括用户响应页面,该用户响应页面中包含的域名为各个内网应用对应的真实域名,而浏览器发送的访问请求中携带的是虚拟域名,因此代理服务器需要对上述用户响应页面进行重构。具体的,代理服务器可以首先获取用户响应页面中包含的各个真实域名,然后根据本地映射表,查找与各个真实域名相对应的虚拟域名,之后将上述真实域名修改为对应的虚拟域名,从而完成用户响应页面的重构。在完成用户响应页面的重构后,代理服务器便可以将重构后的用户响应页面发送至浏览器,从而使得浏览器可以对用户响应页面进行渲染。
由此可见,本申请提供的技术方案,通过将目标cookie信息与授权内容进行绑定,从而建立用户关键信息与目标cookie信息之间的唯一映射关系,然后通过目标cookie信息对用户的认证鉴权环节进行管理,使得认证鉴权环节和应用访问环节都集中在代理服务器侧,这样用户关键信息便不需要保存在浏览器侧,避免了用户关键信息的泄露。同时通过对目标cookie信息的更新,可以使不同的用户无法使用同一个账号和密码同时访问内部网络,进一步提高了系统的安全性。针对某些网站利用cookie机制进行内部权限管理的情况,本申请基于网站反馈的第三cookie设置信息,建立第三cookie信息与泛域名之间的映射关系,以简化用户的访问,同时还可以对第三cookie设置信息进行重构,以保证cookie机制的正常运行,避免浏览器在渲染网页时出现错误。
请参阅图4,本申请还提供一种异常请求处理装置,所述装置应用于代理服务器,并储存有全局路径映射表和用户路径映射表,所述装置包括:
信息接收模块,用于接收目标用户发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;
信息判断模块,用于判断所述目标访问请求是否异常,若异常,则获取所述目标访问请求中的目标真实路径,并查询与所述目标真实路径相对应的目标全局路径映射表,以判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL,以及在不基于所述目标全局路径映射表重构所述目标访问请求中的URL时,查询与所述目标cookie信息相对应的目标用户路径映射表,以判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL;
信息重构模块,用于获取所述目标全局路径映射表中与所述目标真实路径唯一对应的第一代理路径,并基于所述第一代理路径重构所述目标访问请求中的URL,以及获取所述目标用户路径映射表中与所述目标真实路径值相对应的第二代理路径,并基于所述第二代理路径重构所述目标访问请求中的URL。
在一个实施方式中,判断所述目标访问请求是否异常包括:
判断所述目标访问请求中是否存在目标代理路径,若所述目标访问请求中存在所述目标代理路径,则所述目标访问请求正常;
若所述目标访问请求中不存在所述目标代理路径,则所述目标访问请求异常。
在一个实施方式中,判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL包括:
判断所述目标全局路径映射表中是否存在与所述目标真实路径相对应的目标代理路径集合;
若存在,则判断所述目标代理路径集合中包含的代理路径是否唯一,若唯一,则基于所述目标全局路径映射表重构所述目标访问请求中的URL;
若不唯一,则不基于所述目标全局路径映射表重构所述目标访问请求中的URL。
在一个实施方式中,判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL包括:
判断所述目标用户路径映射表中是否存在与所述目标真实路径值相对应的第二代理路径;
若存在所述第二代理路径,则基于所述第二代理路径重构所述目标访问请求中的URL;
若不存在所述第二代理路径,则向所述目标用户反馈异常消息。
在一个实施方式中,所述装置还包括:
映射表生成模块,用于基于路径映射关系,建立以所述真实路径为标记的所述全局路径映射表,以及以用户标识为标记的所述用户路径映射表;
所述信息判断模块,还用于判断接收到的各个访问请求中是否存在代理路径,若存在,则获取所述各个访问请求中真实路径和所述代理路径的所述路径映射关系。
在一个实施方式中,所述装置还包括:
重定向模块,用于将重构后的所述URL重定向至所述目标用户,以使得所述目标用户生成包含所述重构后的URL的新目标访问请求,并将所述新目标访问请求发送至所述代理服务器;
鉴权判断模块,用于对重构后的所述目标访问请求进行鉴权。
请参阅图5,本申请还提供一种异常请求处理装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,可以实现如上述的异常请求处理方法。具体地,在硬件层面,该装置可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述装置的结构造成限定。例如,所述装置还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(Graphics Processing Unit,图像处理器),或者对外通信端口等。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。
本实施方式中,所述的处理器可以包括中央处理器(CPU)或图形处理器(GPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不做限定。
需要说明的是,本说明书中的异常请求处理装置,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种异常请求处理方法,其特征在于,所述方法应用于代理服务器,所述代理服务器中储存有全局路径映射表和用户路径映射表,所述方法包括:
接收目标用户发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;
基于所述目标访问请求中是否存在目标代理路径,判断所述目标访问请求是否异常,若异常,则获取所述目标访问请求中的目标真实路径,并查询与所述目标真实路径相对应的目标全局路径映射表;
判断所述目标全局路径映射表中是否存在与所述目标真实路径相对应的目标代理路径集合,并基于所述目标代理路径集合中包含的代理路径是否唯一,判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL;
若不基于所述目标全局路径映射表重构所述目标访问请求中的URL,则查询与所述目标cookie信息相对应的目标用户路径映射表,并根据所述目标用户路径映射表中是否存在与所述目标真实路径值相对应的第二代理路径,判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL。
2.根据权利要求1所述的方法,其特征在于,判断所述目标访问请求是否异常包括:
判断所述目标访问请求中是否存在目标代理路径,若所述目标访问请求中存在所述目标代理路径,则所述目标访问请求正常;
若所述目标访问请求中不存在所述目标代理路径,则所述目标访问请求异常。
3.根据权利要求1所述的方法,其特征在于,判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL包括:
若所述目标代理路径集合中包含的代理路径唯一,则基于所述目标全局路径映射表重构所述目标访问请求中的URL;
若所述目标代理路径集合中包含的代理路径不唯一,则不基于所述目标全局路径映射表重构所述目标访问请求中的URL。
4.根据权利要求3所述的方法,其特征在于,基于所述目标全局路径映射表重构所述目标访问请求中的URL包括:
获取所述目标全局路径映射表中与所述目标真实路径唯一对应的第一代理路径;
基于所述第一代理路径重构所述目标访问请求中的URL。
5.根据权利要求1所述的方法,其特征在于,判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL包括:
若存在所述第二代理路径,则基于所述第二代理路径重构所述目标访问请求中的URL;
若不存在所述第二代理路径,则向所述目标用户反馈异常消息。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断接收到的各个访问请求中是否存在代理路径,若存在,则获取所述各个访问请求中真实路径和所述代理路径的路径映射关系;
基于所述路径映射关系,建立以所述真实路径为标记的所述全局路径映射表,以及以用户标识为标记的所述用户路径映射表。
7.根据权利要求4或5所述的方法,其特征在于,在重构所述目标访问请求中的URL后,所述方法还包括:
将重构后的所述URL重定向至所述目标用户,以使得所述目标用户生成包含所述重构后的URL的新目标访问请求,并将所述新目标访问请求发送至所述代理服务器。
8.根据权利要求1所述的方法,其特征在于,所述方法包括:
若所述目标访问请求正常,则对所述目标访问请求进行鉴权。
9.一种异常请求处理装置,其特征在于,所述装置应用于代理服务器,并储存有全局路径映射表和用户路径映射表,所述装置包括:
信息接收模块,用于接收目标用户发送的目标访问请求,其中,所述目标访问请求携带有目标cookie信息;
信息判断模块,用于基于所述目标访问请求中是否存在目标代理路径,判断所述目标访问请求是否异常,若异常,则获取所述目标访问请求中的目标真实路径,并查询与所述目标真实路径相对应的目标全局路径映射表,判断所述目标全局路径映射表中是否存在与所述目标真实路径相对应的目标代理路径集合,并基于所述目标代理路径集合中包含的代理路径是否唯一,判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL,以及在不基于所述目标全局路径映射表重构所述目标访问请求中的URL时,查询与所述目标cookie信息相对应的目标用户路径映射表,并根据所述目标用户路径映射表中是否存在与所述目标真实路径值相对应的第二代理路径,判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL;
信息重构模块,用于获取所述目标全局路径映射表中与所述目标真实路径唯一对应的第一代理路径,并基于所述第一代理路径重构所述目标访问请求中的URL,以及获取所述目标用户路径映射表中与所述目标真实路径值相对应的第二代理路径,并基于所述第二代理路径重构所述目标访问请求中的URL。
10.根据权利要求9所述的装置,其特征在于,判断所述目标访问请求是否异常包括:
判断所述目标访问请求中是否存在目标代理路径,若所述目标访问请求中存在所述目标代理路径,则所述目标访问请求正常;
若所述目标访问请求中不存在所述目标代理路径,则所述目标访问请求异常。
11.根据权利要求9所述的装置,其特征在于,判断是否基于所述目标全局路径映射表重构所述目标访问请求中的URL包括:
若所述目标代理路径集合中包含的代理路径唯一,则基于所述目标全局路径映射表重构所述目标访问请求中的URL;
若所述目标代理路径集合中包含的代理路径不唯一,则不基于所述目标全局路径映射表重构所述目标访问请求中的URL。
12.根据权利要求9所述的装置,其特征在于,判断是否基于所述目标用户路径映射表重构所述目标访问请求中的URL包括:
若存在所述第二代理路径,则基于所述第二代理路径重构所述目标访问请求中的URL;
若不存在所述第二代理路径,则向所述目标用户反馈异常消息。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括:
映射表生成模块,用于基于路径映射关系,建立以所述真实路径为标记的所述全局路径映射表,以及以用户标识为标记的所述用户路径映射表;
所述信息判断模块,还用于判断接收到的各个访问请求中是否存在代理路径,若存在,则获取所述各个访问请求中真实路径和所述代理路径的所述路径映射关系。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括:
重定向模块,用于将重构后的所述URL重定向至所述目标用户,以使得所述目标用户生成包含所述重构后的URL的新目标访问请求,并将所述新目标访问请求发送至所述代理服务器。
15.一种异常请求处理装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1至8中任一权利要求所述的方法。
CN202010973627.0A 2020-09-16 2020-09-16 一种异常请求处理方法和装置 Active CN112260988B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010973627.0A CN112260988B (zh) 2020-09-16 2020-09-16 一种异常请求处理方法和装置
PCT/CN2020/122549 WO2022057002A1 (zh) 2020-09-16 2020-10-21 一种异常请求处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010973627.0A CN112260988B (zh) 2020-09-16 2020-09-16 一种异常请求处理方法和装置

Publications (2)

Publication Number Publication Date
CN112260988A CN112260988A (zh) 2021-01-22
CN112260988B true CN112260988B (zh) 2021-09-24

Family

ID=74232529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010973627.0A Active CN112260988B (zh) 2020-09-16 2020-09-16 一种异常请求处理方法和装置

Country Status (2)

Country Link
CN (1) CN112260988B (zh)
WO (1) WO2022057002A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351009B (zh) * 2020-10-27 2022-07-22 杭州安恒信息技术股份有限公司 一种网络安全防护方法、装置、电子设备及可读存储介质
CN113392346B (zh) * 2021-06-16 2023-09-12 北京豆萌信息技术有限公司 资源文件的路径处理方法、装置、电子设备及存储介质
CN114900546B (zh) * 2022-07-08 2022-09-16 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487711A (zh) * 2002-09-03 2004-04-07 �Ҵ���˾ 网络系统、反向代理、计算机设备、数据处理方法以及程序产品
CN101132420A (zh) * 2007-10-16 2008-02-27 杭州华三通信技术有限公司 一种基于ssl vpn的链接改写方法和设备
CN101136834A (zh) * 2007-10-19 2008-03-05 杭州华三通信技术有限公司 一种基于ssl vpn的链接改写方法和设备
CN101977224A (zh) * 2010-10-28 2011-02-16 神州数码网络(北京)有限公司 一种基于SSL VPN设备的Web资源认证信息管理方法
CN110417932A (zh) * 2019-07-30 2019-11-05 睿哲科技股份有限公司 基于IPv6外链资源升级装置、电子设备及计算机可读介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438642B2 (en) * 2009-06-05 2013-05-07 At&T Intellectual Property I, L.P. Method of detecting potential phishing by analyzing universal resource locators
CN103823883B (zh) * 2014-03-06 2015-06-10 焦点科技股份有限公司 一种网站用户访问路径的分析方法及系统
CN108965203B (zh) * 2017-05-18 2020-12-29 腾讯科技(深圳)有限公司 一种资源访问方法及服务器
CN109583190B (zh) * 2017-09-28 2020-11-27 华为技术有限公司 监控进程的方法和装置
CN109040316B (zh) * 2018-09-19 2021-08-27 天津字节跳动科技有限公司 Http服务处理方法和装置
US10931774B2 (en) * 2019-01-17 2021-02-23 Servicenow, Inc. Discovery and service mapping of application programming interface proxies

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1487711A (zh) * 2002-09-03 2004-04-07 �Ҵ���˾ 网络系统、反向代理、计算机设备、数据处理方法以及程序产品
CN101132420A (zh) * 2007-10-16 2008-02-27 杭州华三通信技术有限公司 一种基于ssl vpn的链接改写方法和设备
CN101136834A (zh) * 2007-10-19 2008-03-05 杭州华三通信技术有限公司 一种基于ssl vpn的链接改写方法和设备
CN101977224A (zh) * 2010-10-28 2011-02-16 神州数码网络(北京)有限公司 一种基于SSL VPN设备的Web资源认证信息管理方法
CN110417932A (zh) * 2019-07-30 2019-11-05 睿哲科技股份有限公司 基于IPv6外链资源升级装置、电子设备及计算机可读介质

Also Published As

Publication number Publication date
WO2022057002A1 (zh) 2022-03-24
CN112260988A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
CN112260990B (zh) 一种安全访问内网应用的方法和装置
CN112272158A (zh) 一种数据代理方法、系统及代理服务器
US10979485B2 (en) Mechanism for distinguishing between content to be served through first or second delivery channels
CN112260988B (zh) 一种异常请求处理方法和装置
US10212173B2 (en) Deterministic reproduction of client/server computer state or output sent to one or more client computers
US7676828B1 (en) Method and system for authenticating and authorizing requestors interacting with content servers
EP3030974B1 (en) Content delivery methods and systems
CN107122674B (zh) 一种应用于运维审计系统的oracle数据库的访问方法
CN111447180B (zh) 一种电力物联网边缘接入管理系统安全访问控制策略
CN107872455A (zh) 一种跨域单点登录系统及其方法
EP2409473A1 (en) Web application access
CN111698345B (zh) 域名查询方法、递归服务器和存储介质
CN114902612A (zh) 基于边缘网络的帐户保护服务
CN113381979A (zh) 一种访问请求代理方法及代理服务器
CN114915435B (zh) 一种业务数据访问方法及系统
CN102065573A (zh) Wap网关代理业务数据处理方法及服务器
CN113194099B (zh) 一种数据代理方法及代理服务器
CN102195979B (zh) 基于加速key进行网络加速的方法及加速key
CN112260991B (zh) 一种鉴权管理方法和装置
CN114793244A (zh) 一种区块链的资源处理方法、装置、设备和介质
Niven-Jenkins et al. Content delivery network interconnection (cdni) metadata
CN113381978B (zh) 一种安全登录方法和装置
Niven-Jenkins et al. RFC 8006: Content Delivery Network Interconnection (CDNI) Metadata
CN118381643A (zh) 数据安全管控方法、装置、电子设备和可读存储介质
CN114707128A (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