CN114282240A - 跨域访问的控制方法及电子设备、存储介质 - Google Patents
跨域访问的控制方法及电子设备、存储介质 Download PDFInfo
- Publication number
- CN114282240A CN114282240A CN202111599571.8A CN202111599571A CN114282240A CN 114282240 A CN114282240 A CN 114282240A CN 202111599571 A CN202111599571 A CN 202111599571A CN 114282240 A CN114282240 A CN 114282240A
- Authority
- CN
- China
- Prior art keywords
- resource
- address
- browser
- specified user
- new address
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种跨域访问的控制方法及电子设备、存储介质,该方法包括:响应于指定用户所在浏览器发送的资源列表获取请求,获取指定用户对应的跨域的资源地址;根据资源地址以及第一时间,生成新地址并将新地址下发到指定用户所在浏览器;响应于指定用户所在浏览器发送的资源访问请求,根据资源访问请求携带的新地址,对新地址进行校验;在新地址校验通过后,根据新地址获取资源地址;根据资源地址,向资源地址对应的资源服务器请求资源内容并将资源内容返回指定用户所在浏览器。该方法解决跨域访问时无法进行合法性校验,导致无法访问的问题。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种跨域访问的控制方法及电子设备、计算机可读存储介质。
背景技术
目前,sslvpn,通过ssl隧道,对用户和业务服务器之间数据进行加密,来实现对业务资源服务器的保护。在建立ssl隧道前,用户进行身份认证,认证通过后,创建会话,sslvpn网关遍历资源,将该用户所属角色关联的资源下发给客户端浏览器。
WEBVPN是SSLVPN针对七层代理的一种实现方案,现有WEBVPN,通过域名访问登录vpn资源,假设登录域名为vpn.topsec.com,登录成功后,访问资源时,资源域名必须为登录域名的子域名(*.vpn.topsec.com),例如app1.vpn.topsec.com,app2.vpn.topsec.com等。如果登录域名和资源域名之间不存在父子关系,则会存在跨域问题,比如登录域名为vpn.topsec.com,资源域名为app1.topsec.com,此时用户通过域名vpn.topsec.com登录vpn设备后,将登录认证成功的会话信息保存到vpn.topsec.com域的cookie中,但是当用户访问app1.topsec.com时,这两个域名属于不同的域,vpn设备从app1.topsec.com域的cookie中无法获取该用户的认证会话信息,从而无法进行合法性校验,导致无法正常访问。
可见,在实际项目部署中,客户为了降低成本考虑,存在一些登录域名和资源域名为同级域名,非父子关系的应用场景,使用现有方案无法满足该场景需求,会出现无法获取认证信息而导致无法访问该资源的问题。
发明内容
本申请实施例提供了跨域访问的控制方法,用于在登录域名和资源域名非父子关系时,也可进行合法性校验,实现资源的访问。
本申请实施例提供了一种跨域访问的控制方法,该方法包括:
响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址;
根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器;
响应于所述指定用户所在浏览器发送的资源访问请求,根据所述资源访问请求携带的所述新地址,对所述新地址进行校验;
在所述新地址校验通过后,根据所述新地址获取所述资源地址;
根据所述资源地址,向所述资源地址对应的资源服务器请求资源内容并将所述资源内容返回所述指定用户所在浏览器。
在一实施例中,在所述响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址之前,所述方法还包括:
接收浏览器根据登录域名发送的登录请求;
根据所述登录请求携带的用户身份信息,进行身份认证,在认证通过后,生成会话标识并将所述会话标识存入身份标识文件;
将所述身份标识文件返回所述浏览器,使所述浏览器后续发送的请求携带所述会话标识。
在一实施例中,所述响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址,包括:
响应于指定用户所在浏览器发送的资源列表获取请求,遍历所述指定用户对应绑定的所有资源;
将资源域名与登录域名不存在父子关系的资源作为跨域资源,获取所述跨域资源的资源地址。
在一实施例中,所述根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器,包括:
采用信息摘要算法对所述资源地址进行处理,得到第一字符串;
根据所述第一时间与所述第一字符串,编码得到第二字符串;
将所述第二字符串与所述资源地址,拼接生成新地址并将所述新地址下发到所述指定用户所在浏览器。
在一实施例中,所述根据所述资源访问请求携带的所述新地址,对所述新地址进行校验,包括:
根据所述资源访问请求携带的所述新地址,从所述新地址中获取所述第二字符串和资源地址;
对所述第二字符串进行解码,得到所述第一时间和第一字符串;
采用信息摘要算法对所述资源地址进行处理,得到第三字符串,校验所述第三字符串和所述第一字符串是否相同,以及将当前时间与所述第一时间进行比对,判断是否超时。
在一实施例中,在所述新地址校验通过后,根据所述新地址获取所述资源地址,包括:
若所述第三字符串和所述第一字符串相同,且当前时间没有超时,确定所述新地址校验通过,从所述新地址中提取所述资源地址。
在一实施例中,所述将所述资源内容返回所述指定用户所在浏览器,包括:
对所述资源内容进行分析,解析出子请求的地址信息;
对所述地址信息进行哈希计算后,保存在哈希队列中,并在每个哈希节点记录当前时间;
将所述地址信息与所述地址信息的哈希值构成子请求地址发送到所述浏览器。
在一实施例中,所述方法还包括:
接收所述指定用户所在浏览器发送的子请求;
根据所述子请求携带的子请求地址,判断所述子请求地址中的哈希值是否出现在所述哈希队列中,且根据对应哈希节点记录的时间,判断子请求是否超时;
若所述哈希值出现在所述哈希队列中,且所述子请求没有超时,从所述资源服务器获取所述子请求对应的文件内容返回所述浏览器。
本申请实施例提供了一种跨域访问的控制装置,包括:
地址获取模块,用于响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址;
地址生成模块,用于根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器;
地址校验模块,用于响应于所述指定用户所在浏览器发送的资源访问请求,根据所述资源访问请求携带的所述新地址,对所述新地址进行校验;
地址提取模块,用于在所述新地址校验通过后,根据所述新地址获取所述资源地址;
资源代理模块,用于根据所述资源地址,向所述资源地址对应的资源服务器请求资源内容并将所述资源内容返回所述指定用户所在浏览器。
本申请实施例还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述跨域访问的控制方法。
本申请上述实施例提供的技术方案,在webvpn系统中,对跨域资源下发资源列表时,根据跨域资源的资源地址和第一时间,通过编码生成了新地址下发给浏览器,后续浏览器请求跨域资源时,可以对新地址进行解码校验,解决跨域访问时无法进行合法性校验,导致无法访问的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。
图1为本申请一实施例提供的跨域访问的控制方法的应用场景示意图;
图2为本申请一实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的一种跨域访问的控制方法的流程示意图;
图4图3对应实施例中步骤S320的细节流程图;
图5图3对应实施例中步骤S330的细节流程图;
图6是图3对应实施例基础上提供的跨域访问的控制方法的流程示意图;
图7是本申请实施例提供的一种跨域访问的控制方法的详细流程示意图;
图8为本申请一实施例示出的跨域访问的控制装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本申请实施例提供的跨域访问的控制方法的应用场景示意图。如图1所示,该应用场景包括浏览器110、内网访问控制设备120(WEBVPN)以及资源服务器130。内网访问控制设备120分别连接浏览器110和资源服务器130。内网访问控制设备120可以执行本申请实施例提供的跨域访问的控制方法,在资源域名与登录域名不是父子关系时,也可以实现合法性校验,该技术方案有效解决了跨域请求的合法性验证问题。
图2为本申请一实施例提供的电子设备的结构示意图。该电子设备200可以作为上述内网访问控制设备120,该电子设备200可以用于执行本申请实施例提供的跨域访问的控制方法。如图2所示,该电子设备200包括:一个或多个处理器202、一个或多个存储处理器可执行指令的存储器204。其中,所述处理器202被配置为执行本申请下述实施例提供的跨域访问的控制方法。
所述处理器202可以是包含中央处理单元(CPU)、图像处理单元(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子设备200中的其它组件的数据进行处理,还可以控制所述电子设备200中的其它组件以执行期望的功能。
所述存储器204可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器202可以运行所述程序指令,以实现下文所述的跨域访问的控制方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
在一实施例中,图2所示电子设备200还可以包括输入装置206、输出装置208以及数据采集装置210,这些组件通过总线系统212和/或其它形式的连接机构(未示出)互连。应当注意,图2所示的电子设备200的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备200也可以具有其他组件和结构。
所述输入装置206可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。所述输出装置208可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。所述数据采集装置210可以采集对象的图像,并且将所采集的图像存储在所述存储器204中以供其它组件使用。示例性地,该数据采集装置210可以为摄像头。
在一实施例中,用于实现本申请实施例的网页处理方法的示例电子设备200中的各器件可以集成设置,也可以分散设置,诸如将处理器202、存储器204、输入装置206和输出装置208集成设置于一体,而将数据采集装置210分离设置。
在一实施例中,用于实现本申请实施例的跨域访问的控制方法的示例电子设备200可以被实现为诸如笔记本电脑、台式电脑、服务器、网关等智能设备。
图3是本申请实施例提供的一种跨域访问的控制方法的流程示意图。该方法可以由上文的内网访问控制设备120执行,如图3所示,该方法包括以下步骤S310-步骤S350。
步骤S310:响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址。
其中,指定用户是指已经登录成功的用户。资源列表获取请求可以包括会话标识,用于表征浏览器所述指定用户已经登录成功。
跨域是指WEBVPN网关的登录域名与资源域名不是父子关系,举例来说,登录域名为“vpn.topsec.com”,资源域名为“*.vpn.topsec.com”,可以认为两者存在父子关系,举例来说,登录域名为“vpn.topsec.com”,资源域名为“app1.topsec.com”,认为两者不存在父子关系。
在一实施例中,WEBVPN网关响应于指定用户所在浏览器发送的资源列表获取请求,遍历所述指定用户对应绑定的所有资源;将资源域名与登录域名不存在父子关系的资源作为跨域资源,获取所述跨域资源的资源地址。
具体的,可以根据指定用户的用户名,获取用户名对应绑定的所有资源,然后从中找出资源域名与WEBVPN网关的登录域名不存在父子关系的资源,作为跨域资源。获取跨域资源的URL(uniform resource locator,统一资源定位系统)地址,即资源地址。
在一实施例中,上述步骤S310之前,本申请实施例提供的方法,还包括:接收浏览器根据登录域名发送的登录请求;根据所述登录请求携带的用户身份信息,进行身份认证,在认证通过后,生成会话标识并将所述会话标识存入身份标识文件;将所述身份标识文件返回所述浏览器,使所述浏览器后续发送的请求携带所述会话标识。
其中,用户身份信息可以包括用户名、密码等,WEBVPN网关可以将浏览器提供的用户身份信息与本地存储的用户身份信息进行比对,如果一致,认证通过。会话标识可以包括会话编号,用于辨别用户身份。身份标识文件可以是cookie文件,在用户身份认证通过后,WEBVPN网关可以将会话标识写入cookie文件,返回给浏览器,使浏览器每次发送的请求携带cookie文件,从而无需每次进行登录和身份认证,对cookie文件进行认证即可,故接收到请求时默认存在对cookie文件的认证,在此不再赘述。
步骤S320:根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器。
其中,第一时间是指生成新地址时的当前时间。在一实施例中,如图4所示,上述步骤S320具体包括以下步骤S321-步骤S323。
步骤S321:采用信息摘要算法对所述资源地址进行处理,得到第一字符串。
其中,第一字符串是指对资源地址进行处理后得到的结果。信息摘要算法可以是MD5算法,举例来说,假设资源地址为https://app1.topsec.com/url,将该资源地址做md5处理,结果记为app1hashcode(即第一字符串)。
步骤S322:根据所述第一时间与所述第一字符串,编码得到第二字符串。
其中,第二字符串是指第一时间与第一字符串一起编码得到的结果。举例来说,将app1hashcode(第一字符串)和第一时间拼接成一个新字符串,对新字符串进行base64编码,结果记为app1code(即第二字符串)
步骤S322:将所述第二字符串与所述资源地址,拼接生成新地址并将所述新地址下发到所述指定用户所在浏览器。
将app1code(即第二字符串)与资源地址(https://app1.topsec.com/url)组成新地址https://app1.topsec.com/url?app1code下发给浏览器客户端。
步骤S330:响应于所述指定用户所在浏览器发送的资源访问请求,根据所述资源访问请求携带的所述新地址,对所述新地址进行校验。
其中,资源访问请求可以包括上述新地址,WEBVPN网关接收到资源访问请求,可以对资源访问请求携带的新地址进行校验。
在一实施例中,如图5所示,上述步骤S330具体包括以下步骤S331-步骤S333。
步骤S331:根据所述资源访问请求携带的所述新地址,从所述新地址中获取所述第二字符串和资源地址。
举例来说,假设新地址为https://app1.topsec.com/url?app1code,第二字符串为app1code,资源地址https://app1.topsec.com/url。
步骤S332:对所述第二字符串进行解码,得到所述第一时间和第一字符串。
举例来说,对app1code进行base64解码,解析出第一时间和app1hashcode。
步骤S333:采用信息摘要算法对所述资源地址进行处理,得到第三字符串,校验所述第三字符串和所述第一字符串是否相同,以及将当前时间与所述第一时间进行比对,判断是否超时。
举例来说,采用MD5算法计算资源地址https://app1.topsec.com/url的MD5值,为进行区分,此MD5值称为第三字符串。校验第三字符串和第一字符串是否相同以及解析出的第一时间与当前时间的差距是否在规定时间范围内。规定时间范围可以是300ms~5min。
步骤S340:在所述新地址校验通过后,根据所述新地址获取所述资源地址。
在一实施例中,若第三字符串和所述第一字符串相同,且当前时间没有超时,即解析出的第一时间与当前时间的差距在规定时间范围,两个条件均满足,确定新地址校验通过,从所述新地址中提取所述资源地址。
举例来说,新地址为https://app1.topsec.com/url?app1code,删除app1code,得到资源地址https://app1.topsec.com/url。
步骤S350:根据所述资源地址,向所述资源地址对应的资源服务器请求资源内容并将所述资源内容返回所述指定用户所在浏览器。
WEBVPN网关可以根据https://app1.topsec.com/url地址,按照webvpn正常逻辑向资源服务器请求资源代理,之后WEBVPN网关可以将资源服务器返回的资源内容返回给浏览器。该资源内容可以是H5页面内容。
在一实施例中,如图6所示,WEBVPN网关还可以执行以下步骤:
步骤S360:对资源服务器返回的所述资源内容进行分析,解析出子请求的地址信息。其中,子请求的地址信息是浏览器页面需要引用的资源的地址,子请求包括JS请求、CSS请求和其他子请求。
步骤S370:对所述地址信息进行哈希计算后,保存在哈希队列中,并在每个哈希节点记录当前时间。
将子请求的地址信息(url地址)进行哈希计算后保存在一个哈希队列中,并在每个哈希节点中记录当前时间。在每个哈希节点记录当前时间是指记录哈希值对应的当前时间。
步骤S380:将所述地址信息与所述地址信息的哈希值构成子请求地址发送到所述浏览器。
地址信息和地址信息的哈希值一起拼接形成新的地址,为进行区分,称为子请求地址。如果没有保存js、css,页面中的这些子请求到达网关后,由于跨域问题,网关无法从该请求的cookie中获取到认证信息,从而导致访问失败。故可以将子请求地址发送给浏览器,便于后续接收到请求时进行校验。
在一实施例中,在上述步骤S380之后,本申请实施例提供的方法还包括:接收所述指定用户所在浏览器发送的子请求;根据所述子请求携带的子请求地址,判断所述子请求地址中的哈希值是否出现在所述哈希队列中,且根据对应哈希节点记录的时间,判断子请求是否超时;若所述哈希值出现在所述哈希队列中,且所述子请求没有超时,从所述资源服务器获取所述子请求对应的文件内容返回所述浏览器。
浏览器后续请求到网关,网关根据url地址在哈希表中检查,如果未找到对应字段,则拒绝访问。找到对应哈希节点,但是时间过期,也拒绝访问。如果找到对应哈希节点并且没有过期,则从子请求地址中删除哈希值,到子请求的地址信息(url地址),进而可以将相应资源按照webvpn逻辑进行代理。从资源服务器获取子请求(js请求、css请求或其他子请求)对应的文件内容(js文件、css文件或其他文件)返回所述浏览器。
图7是本申请实施例提供的一种跨域访问的控制方法的详细流程示意图。如图7所示,该方法包括以下过程:
(1)用户所在浏览器通过登录域名vpn.topsec.com登录WEBVPN网关;
(2)WEBVPN网关对登录用户进行认证,将认证成功后的会话标识写入cookie中,返回给浏览器;
(3)WEBVPN网关接收到浏览器发送的资源列表获取请求;
(4)WEBVPN网关根据用户名获取与该用户绑定的资源,遍历资源,识别跨域资源;
(5)将该资源地址做md5处理,记为app1hashcode,将app1hashcode和当前时间拼接成一个字符串进行base64编码记为app1code,将app1code与资源地址组成新地址https://app1.topsec.com/url?app1code;
(6)将新地址https://app1.topsec.com/url?app1code下发给浏览器;
(7)WEBVPN网关接收到浏览器发送的资源访问请求;
(8)WEBVPN网关根据资源访问请求中的新地https://app1.topsec.com/url?app1code,对app1code进行base64解码,解析出时间字符串和app1hashcode,根据url计算md5值,校验与app1hashcode是否相同,获取当前时间与解析出的时间字符串比对,判断是否超时,合法性时间范围为300ms~5min,校验结果合法后,从url中删除app1code,得到资源地址https://app1.topsec.com/url;
(9)WEBVPN网关将https://app1.topsec.com/url地址按照webvpn正常逻辑向资源服务器代理;
(10)接收资源服务器返回的资源内容,进行回包报文分析,解析出界面需要引用的js请求、css请求和其他子请求,将上述请求url进行哈希计算后保存在一个哈希队列中,并在每个哈希节点中记录当前时间,给浏览器返回处理后的报文;
(11)WEBVPN网关后续接收到子请求;
(12)根据子请求url地址在哈希表中检查,如果未找到对应字段,则拒绝访问。找到对应哈希节点,但是时间过期,也拒绝访问。如果找到对应哈希节点并且没有过期,则从url中删除哈希值,将相应资源按照webvpn逻辑进行代理。
本申请上述实施例提供的技术方案,在webvpn系统中,对跨域资源下发资源列表时,根据跨域资源的资源地址和第一时间,通过编码生成了新地址,后续可以对新地址进行校验,解决跨域访问时无法进行合法性校验,导致无法方法的问题。
下述为本申请装置实施例,可以用于执行本申请上述跨域访问的控制方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请跨域访问的控制方法实施例。
图8为本申请一实施例示出的跨域访问的控制装置的框图。如图8所示,该装置包括:
地址获取模块810,用于响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址;
地址生成模块820,用于根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器;
地址校验模块830,用于响应于所述指定用户所在浏览器发送的资源访问请求,根据所述资源访问请求携带的所述新地址,对所述新地址进行校验;
地址提取模块840,用于在所述新地址校验通过后,根据所述新地址获取所述资源地址;
资源代理模块850,用于根据所述资源地址,向所述资源地址对应的资源服务器请求资源内容并将所述资源内容返回所述指定用户所在浏览器。
上述装置中各个模块的功能和作用的实现过程具体详见上述跨域访问的控制方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种跨域访问的控制方法,其特征在于,包括:
响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址;
根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器;
响应于所述指定用户所在浏览器发送的资源访问请求,根据所述资源访问请求携带的所述新地址,对所述新地址进行校验;
在所述新地址校验通过后,根据所述新地址获取所述资源地址;
根据所述资源地址,向所述资源地址对应的资源服务器请求资源内容并将所述资源内容返回所述指定用户所在浏览器。
2.根据权利要求1所述的方法,其特征在于,在所述响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址之前,所述方法还包括:
接收浏览器根据登录域名发送的登录请求;
根据所述登录请求携带的用户身份信息,进行身份认证,在认证通过后,生成会话标识并将所述会话标识存入身份标识文件;
将所述身份标识文件返回所述浏览器,使所述浏览器后续发送的请求携带所述会话标识。
3.根据权利要求1所述的方法,其特征在于,所述响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址,包括:
响应于指定用户所在浏览器发送的资源列表获取请求,遍历所述指定用户对应绑定的所有资源;
将资源域名与登录域名不存在父子关系的资源作为跨域资源,获取所述跨域资源的资源地址。
4.根据权利要求1所述的方法,其特征在于,所述根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器,包括:
采用信息摘要算法对所述资源地址进行处理,得到第一字符串;
根据所述第一时间与所述第一字符串,编码得到第二字符串;
将所述第二字符串与所述资源地址,拼接生成新地址并将所述新地址下发到所述指定用户所在浏览器。
5.根据权利要求4所述的方法,其特征在于,所述根据所述资源访问请求携带的所述新地址,对所述新地址进行校验,包括:
根据所述资源访问请求携带的所述新地址,从所述新地址中获取所述第二字符串和资源地址;
对所述第二字符串进行解码,得到所述第一时间和第一字符串;
采用信息摘要算法对所述资源地址进行处理,得到第三字符串,校验所述第三字符串和所述第一字符串是否相同,以及将当前时间与所述第一时间进行比对,判断是否超时。
6.根据权利要求5所述的方法,其特征在于,在所述新地址校验通过后,根据所述新地址获取所述资源地址,包括:
若所述第三字符串和所述第一字符串相同,且当前时间没有超时,确定所述新地址校验通过,从所述新地址中提取所述资源地址。
7.根据权利要求1所述的方法,其特征在于,所述将所述资源内容返回所述指定用户所在浏览器,包括:
对所述资源内容进行分析,解析出子请求的地址信息;
对所述地址信息进行哈希计算后,保存在哈希队列中,并在每个哈希节点记录当前时间;
将所述地址信息与所述地址信息的哈希值构成子请求地址发送到所述浏览器。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
接收所述指定用户所在浏览器发送的子请求;
根据所述子请求携带的子请求地址,判断所述子请求地址中的哈希值是否出现在所述哈希队列中,且根据对应哈希节点记录的时间,判断子请求是否超时;
若所述哈希值出现在所述哈希队列中,且所述子请求没有超时,从所述资源服务器获取所述子请求对应的文件内容返回所述浏览器。
9.一种跨域访问的控制装置,其特征在于,包括:
地址获取模块,用于响应于指定用户所在浏览器发送的资源列表获取请求,获取所述指定用户对应的跨域的资源地址;
地址生成模块,用于根据所述资源地址以及第一时间,生成新地址并将所述新地址下发到所述指定用户所在浏览器;
地址校验模块,用于响应于所述指定用户所在浏览器发送的资源访问请求,根据所述资源访问请求携带的所述新地址,对所述新地址进行校验;
地址提取模块,用于在所述新地址校验通过后,根据所述新地址获取所述资源地址;
资源代理模块,用于根据所述资源地址,向所述资源地址对应的资源服务器请求资源内容并将所述资源内容返回所述指定用户所在浏览器。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-7任意一项所述的跨域访问的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111599571.8A CN114282240A (zh) | 2021-12-24 | 2021-12-24 | 跨域访问的控制方法及电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111599571.8A CN114282240A (zh) | 2021-12-24 | 2021-12-24 | 跨域访问的控制方法及电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114282240A true CN114282240A (zh) | 2022-04-05 |
Family
ID=80875069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111599571.8A Pending CN114282240A (zh) | 2021-12-24 | 2021-12-24 | 跨域访问的控制方法及电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114282240A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115021998A (zh) * | 2022-05-27 | 2022-09-06 | 福建天晴数码有限公司 | 一种静态资源双重防盗链的方法及系统 |
-
2021
- 2021-12-24 CN CN202111599571.8A patent/CN114282240A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115021998A (zh) * | 2022-05-27 | 2022-09-06 | 福建天晴数码有限公司 | 一种静态资源双重防盗链的方法及系统 |
CN115021998B (zh) * | 2022-05-27 | 2023-08-11 | 福建天晴数码有限公司 | 一种静态资源双重防盗链的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107135073B (zh) | 接口调用方法和装置 | |
CN105610810B (zh) | 一种数据处理方法、客户端和服务器 | |
US9842230B1 (en) | System and method for automatically detecting and then self-repairing corrupt, modified or non-existent files via a communication medium | |
CN109756337B (zh) | 一种服务接口的安全接入方法和装置 | |
CN107046544B (zh) | 一种识别对网站的非法访问请求的方法和装置 | |
CN111556006A (zh) | 第三方应用系统登录方法、装置、终端及sso服务平台 | |
CN109039987A (zh) | 一种用户账户登录方法、装置、电子设备和存储介质 | |
CN110958237A (zh) | 一种权限校验的方法和装置 | |
WO2015143855A1 (zh) | 一种对数据资源进行访问的方法、装置和系统 | |
US11770385B2 (en) | Systems and methods for malicious client detection through property analysis | |
US20220116393A1 (en) | Resource Security Integration Platform | |
CN103036902A (zh) | 基于二维码的登录控制方法和系统 | |
US20160219030A1 (en) | Service Request Authentication Method and Apparatus | |
CN105991614A (zh) | 一种开放授权、资源访问的方法及装置、服务器 | |
US11777942B2 (en) | Transfer of trust between authentication devices | |
CN111818088A (zh) | 授权模式管理方法、装置、计算机设备及可读存储介质 | |
CN111147525A (zh) | 基于api网关的认证方法、系统、服务器和存储介质 | |
CN111818035A (zh) | 一种基于api网关的权限验证的方法及设备 | |
CN115102744A (zh) | 数据访问方法和装置 | |
CN114282240A (zh) | 跨域访问的控制方法及电子设备、存储介质 | |
CN111245774B (zh) | 资源请求处理方法、装置和系统 | |
CN114745185B (zh) | 集群访问方法及装置 | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
CN114090996A (zh) | 多方系统互信认证方法及装置 | |
CN113536365A (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 |