CN109543121B - 一种外链url资源调用方法及装置 - Google Patents
一种外链url资源调用方法及装置 Download PDFInfo
- Publication number
- CN109543121B CN109543121B CN201811333764.7A CN201811333764A CN109543121B CN 109543121 B CN109543121 B CN 109543121B CN 201811333764 A CN201811333764 A CN 201811333764A CN 109543121 B CN109543121 B CN 109543121B
- Authority
- CN
- China
- Prior art keywords
- link url
- resource
- call
- url
- outer link
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种外链url资源调用方法,包括:在双栈代理服务器上部署外链url资源调用代理器,通过外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;通过外链url调用代理器从所述外链url调用请求中确定外链url地址;通过外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源,从而通过外链url调用代理器能够使IPV6客户端调用所访问的网站页面中包含的IPV4的外链url资源,提高了外链url资源调用服务体系扩展的灵活性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种外链url资源调用方法及装置。
背景技术
当前互联网大多数是采用32位地址的IPV4。IPV4协议的IP地址空间不足制约了互联网的发展。互联网地址分配机构(IANA)在2011年2月份已将其IPV4地址空间段的最后2个“/8”地址组分配出去。这一事件标志着地区性注册机构(RIR)可用IPV4地址空间中“空闲池”的终结,中国互联网发展将受无Pv4地址可用的制约。目前不仅在中国,乃至世界IPV6取代IPV4已成必然趋势。
然而,当前大多数成熟应用主要使用IPV4网络,从IPV4协议升级为IPV6协议经验相对匮乏且需要较大工作量:应用提供商需大量修改现有系统的代码,把与IP地址相关的逻辑代码都修改为兼容IPV4/IPV6协议,且需要服务器所在机房等硬件网络环境升级支持IPV6。整个工作快速实现有着高风险和高投入。随着国家对IPV6网络改造升级的迫切推动,亟需一种能够快速将IPV4应用迁移到IPV6网络的方法,使得IPV6用户也可以访问IPV4丰富的网络资源,IPV4网站会先使用一些过渡方案同时兼容IPV6用户和IPV4用户访问,业界主要有三类技术路线:双栈技术、隧道技术、翻译技术。其中,1双栈技术:双栈技术要求涉及到网站业务交互的各类应用系统、网络设备、运营支撑系统的软硬件设备同时运行IPV4和IPV6两套协议栈,能够同时处理IPV4和IPV6数据包。采用双栈化路线向IPV6演进,网站和应用系统往往需要重写代码,包括:网络通信套接字、API、URL、存储结构等;2隧道技术:通过隧道技术升级网站和应用系统,要求网站和用户分别安装IPV6隧道软件,用户应用程序以IPV4协议(私有地址)与网站应用通信,并把IPV4报文封装进IPV6隧道,穿透网络传输,典型技术有Veno、Dslite、GRE等;3翻译技术:翻译技术是在IPV6用户和IPV4网站间部署IP协议转换设备,建立IPV6/IPV4之间地址和端口的映射关系,以实现透明的IPV6和IPV4互访互通。典型的技术有NAT64、IVI、七层反向代理技术。
虽然这三种技术各有优点,但都存在一个共有的缺点,即无法解决“天窗”问题。所谓“天窗”问题是指,如果一个支持IPV6协议的网站A内容页面,引用了一个不支持IPV6协议的网站B的图片或者其他资源时,当IPV6客户端访问网站A内容时,使用DNS解析A网站的IPV6地址,并基于IPV6协议和A网站服务器交互取得A的响应页面,当IPV6客户端分析A网站页面加载需要去取B网站的图片或者其他资源时,同样会先DNS解析B的IPV6地址,由于B网站并未完成IPV6改造,此时无法解析到IPV6地址或者使用IPV6地址协议访问B网站失败。IPV6客户端获取B网站图片或者资源失败,造成浏览器等客户端展示A网站页面时出现一些空白的窗口,称之为“天窗”。在上述“天窗”问题示例中,针对原始网站A而言,A中包含的网站B的图片或者其他资源url称为外链url。即外链url指非网站内容提供商的域名链的url。可见,“天窗”问题严重影响了真实的客户体验。
针对“天窗”问题,以上三种技术各自存在以下缺点:1、双栈技术对站点和应用系统要求较高,可能牵涉到服务器和网络设备升级,投资较大且改造周期较长,是一种长期演进的技术,短期内比较适合于架构和业务相对简单的网站IPV6升级改造,大型网站往往互相引用,单方面的升级改造不可避免地存在“天窗”问题;2、采用隧道技术,网站只需要新增一个IPV6隧道服务器,但同时需要用户安装相应的IPV6隧道软件,普适性和方便性都有局限,而且无法解决“天窗”问题,所以适用于C/S模型的应用环境,或者用户可安装终端的场景,但不宜大规模部署;3、翻译技术中的NAT64和IVI属于网络层翻译技术,只在IP层和传输层对IPV4/IPV6报文进行转换,无法识别应用层内容,故而无法解决“天窗”问题。
基于上述技术存在的问题,目前亟需一种能够更安全的解决“天窗”问题的方法。
发明内容
鉴于现有技术存在由于外链资源不支持IPV6访问而出现“天窗”现象的技术问题,本发明实施例提供了一种外链url资源调用方法及装置。
第一方面,本发明实施例提供一种外链url资源调用方法,应用于双栈代理服务器,在所述双栈代理服务器上部署有外链url资源调用代理器,所述方法包括:
启动在所述双栈代理服务器上部署的外链url资源调用服务;
通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;
通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;
通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源。
结合第一方面,在第一方面的第一种可能的实现方式中,所述启动在所述双栈代理服务器上部署的外链url资源调用服务之前,还包括:
检测接收源站服务器发送的响应页面内容;
分析所述响应页面内容是否包含外链资源的连接字符串。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,若分析所述响应页面内容包含外链资源的连接字符串,则启动在所述双栈代理服务器上部署的外链url资源调用服务,所述启动在所述双栈代理服务器上部署的外链url资源调用服务,包括:
以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器;
通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的相关信息。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述相关信息,包括外链域名信息和加密信息、签名散列运算结果。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,包括:
通过所述外链url资源调用代理器根据预设散列规则,由包含外链域名信息的字符串和私有字符串构建散列输入字符串,并对所述散列输入字符串进行预设散列算法运算,获得签名散列运算结果,结合所述签名散列运算结果对所述响应页面内容中包含的外链url资源的连接字符串进行改写。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址,包括:
通过所述外链url资源调用代理器获得所述外链url资源调用服务的加密信息,根据所述预设加密规则进行解密,还原外链url地址;和\或
通过所述外链url资源调用代理器获得所述外链url调用请求中包含的所述外链域名信息和签名散列运算结果;
通过所述外链url资源调用代理器根据所述外链域名信息获得所述散列输入字符串;
通过所述外链url资源调用代理器,根据所述散列输入字符串和所述预设散列算法运算获得校验散列运算结果;
通过所述外链url调用请求资源调用代理器,将所述校验散列运算结果与所述签名散列运算结果进行比较;
若一致,接受所述所述外链url调用请求,并从所述外链url调用请求中解析出外链url地址;否则,拒绝所述外链url调用请求。
第二方面,本发明实施例提供一种外链url资源调用装置,应用于双栈代理服务器,所述系统部署在双栈代理服务器上,包括启动单元和外链url资源调用代理器,其中:
所述启动单元,用于启动在所述双栈代理服务器上部署的外链url资源调用服务;
所述外链url资源调用代理器,具体包括:
请求获取单元,用于通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;
地址确定单元,用于通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;
请求发送单元,用于通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源。
结合第二方面,在第二方面的第一种可能的实现方式中,还包括:
监测单元,用于检测接收源站服务器发送的响应页面内容;
分析单元,用于分析所述响应页面内容是否包含外链资源的连接字符串。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述启动单元,包括:
改写子单元,用于以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器;
转发子单元,用于通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的相关信息。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述改写子单元,具体用于:通过所述外链url资源调用代理器根据预设散列规则,由包含外链域名信息的字符串和私有字符串构建散列输入字符串,并对所述散列输入字符串进行预设散列算法运算,获得签名散列运算结果,结合所述签名散列运算结果对所述响应页面内容中包含的外链url资源的连接字符串进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器并包含所述签名散列运算结果;
所述转发子单元,具体用于:通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息和加密信息、签名散列运算结果;
所述地址确定单元,具体用于:
通过所述外链url资源调用代理器获得所述外链url资源调用服务的加密信息,根据所述预设加密规则进行解密,还原外链url地址;和\或
通过所述外链url资源调用代理器获得所述外链url调用请求中包含的所述外链域名信息和签名散列运算结果;
通过所述外链url资源调用代理器根据所述外链域名信息获得所述散列输入字符串;
通过所述外链url资源调用代理器,根据所述散列输入字符串和所述预设散列算法运算获得校验散列运算结果;
通过所述外链url调用请求资源调用代理器,将所述校验散列运算结果与所述签名散列运算结果进行比较;
若一致,接受所述所述外链url调用请求,并从所述外链url调用请求中解析出外链url地址;否则,拒绝所述外链url调用请求。
第三方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面至第一方面的第六种可能的实现方式中任一项所述的步骤。
第四方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面至第一方面的第六种可能的实现方式中任一项所述的步骤。
本发明实施例提供的一种或者多种技术方案,至少实现了如下技术效果或者优点:
由于在提供外链url资源调用服务的双栈代理服务器上部署外链url资源调用代理器,因此,通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源,从而通过外链url调用代理器能够使IPV6客户端调用所访问的网站页面中包含的IPV4的外链url资源,不但解决了由于IPV6与IPV4协议不兼容导致的“天窗”问题,而且提高了外链url资源调用服务体系扩展的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的外链url资源调用方法的流程图;
图2为本发明实施例提供的外链url资源调用装置的程序模块图;
图3为本发明实施例提供的计算机可读存储介质的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图。
具体实施方式
鉴于现有技术存在外链url资源调用服务的复杂度较大的技术问题,本发明实施例提供了一种外链url资源调用方法及装置,总体思路如下:
在双栈代理服务器上部署外链url调用代理器,通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源,从而通过外链url调用代理器能够使IPV6客户端调用所访问的网站页面中包含的IPV4的外链url资源。
通过上述技术方案,由于只在双栈代理服务器上部署外链url调用代理器,即可达到一个支持IPV6协议的网站A内容页面,引用一个不支持IPV6协议的网站B的图片或者其他资源的目的,不但解决了由于IPV6与IPV4协议不兼容导致的“天窗”问题,而且提高了外链url资源调用服务体系扩展的灵活性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例应用于外链url资源调用服务系统,包括IPV6客户端、DNS服务器、双栈代理服务器、源站服务器、外链url网站,双栈代理服务器上部署有外链url资源调用代理器。其中,IPV6客户端是使用IPV6地址机器的客户端,包含浏览器或者APP软件等,能向网站内容服务端发起基于IPV6协议的HTTP请求。双栈代理服务器是同时拥有IPV6和IPV4地址和协议处理能力的机器,部署于客户端和源站服务端中间扮演代理角色,安装七层代理服务软件,可以和代理的两端使用对端支持的IP协议进行通信。源站服务器是网站内容服务器,提供内容服务响应,可以使用所支持的IP地址协议和双栈代理服务端通信。
外链url资源调用系统应用于IPV6客户端访问原始网站A,A中包含外链url网站的资源(包括图片或其他资源)的场景,IPV6客户端访问原始网站A为www.aa.com网站,请求http://www.aa.com/页面,响应内容中包含了客户端加载页面需要继续请求的外链url为http://bbb.bb.com/1.jpg。其中,外链网站bbb.bb.com仅支持IPV4协议。
具体的,请求响应交互过程为:
1、IPV6客户端访问http://www.aa.com/页面,DNS解析www.aa.com IPV6地址到双栈代理服务器上,IPV6客户端通过IPV6协议向双栈代理服务器发送请求http://www.aa.com/。
2、双栈代理服务器收到请求后,再转发请求回www.aa.com所在源站的服务器。
3、www.aa.com源站服务器收到双栈代理服务的请求后向双栈代理服务器返回响应内容http://www.aa.com/页面。
4、双栈代理服务器收到www.aa.com源站服务器的响应后,分析响应页面内容是否包含外链资源的连接字符串,如http://bbb.bb.com/1.jpg,则修改源站服务器的响应为http://bbb.bb.zz.yy.xx/1.jpg其中yy.xx为能解析出IPV6地址的域名,可以为泛域名aa.com或者其他域名。zz可以为com或者com的代号字符串,方便后续还原真实url处理。
5、双栈代理服务器改写外链资源后,将改写后的页面响应内容发送给IPV6客户端。
6、IPV6客户端收到双栈代理发送的http://www.aa.com/页面响应,分析展示页面还需加载外链资源http://bbb.bb.zz.yy.xx/1.jpg。
7、IPV6客户端向DNS服务器请求解析bbb.bb.zz.yy.xx的IPV6地址,由于泛域名.yy.xx支持IPV6地址解析,且解析地址为双栈代理服务器所在,IPV6客户端向双栈代理服务器基于IPV6协议发送http://bbb.bb.zz.yy.xx/1.jpg请求。
8、双栈代理服务器收到http://bbb.bb.zz.yy.xx/1.jpg请求,识别zz.yy.xx字符串的外链url,去除yy.xx信息,还原zz为com,准备请求外链资源http://bbb.bb.com/1.jpg。
9、双栈代理服务器准备请求http://bbb.bb.com/1.jpg时,先向DNS服务器解析bbb.bb.com的源站IPV4地址,通过IPV4协议向bbb.bb.com源站请求外链资源的响应,并在得到响应后,通过IPV6协议转发外链资源响应给IPV6客户端。
10、IPV6客户端得到外链资源响应后正常加载外链资源(包括图片或者其他资源),而不会出现“天窗”问题。
基于同一发明构思,本发明实施例提供一种外链url资源调用方法,应用于双栈代理服务器,在双栈代理服务器上部署有外链url资源调用代理器,参考图1所示,本发明实施例提供的一种外链url资源调用方法,包括如下步骤:
首先,执行步骤S101:启动在双栈代理服务器上部署的外链url资源调用服务。
具体的,为了实现外链url资源调用代理器能够识别在双栈代理服务器上启动的外链url资源调用服务对应的响应内容,是否包含外链资源的连接字符串,如果包含外链资源的连接字符串则启动在双栈代理服务器上部署的外链url资源调用服务。
具体来讲,在步骤S101具体包括如下步骤S1011~S1013:
执行步骤S1011:检测接收源站服务器发送的响应页面内容。
具体的,对双栈代理服务器接收到的源站服务器发送的响应页面内容进行监测。
需要说明的是,IPV6客户端访问http://www.aa.com/页面,DNS解析www.aa.comIPV6地址到双栈代理服务器上,IPV6客户端通过IPV6协议向双栈代理服务器发送HTTP请求http://www.aa.com/;双栈代理服务器收到请求后,再转发请求http://www.aa.com/回www.aa.com所在源站的服务器;www.aa.com源站服务器收到http://www.aa.com/请求后向双栈代理服务器返回响应内容。因此双栈代理服务器可以对源站服务器发送的响应页面内容进行检测。
在实施例中,在步骤S1011之后,需要通过外链url资源调用代理器分析响应页面内容是否包含未完成IPV6改造的外链资源,具体实现过程为步骤S1012:分析所述响应页面内容是否包含外链资源的连接字符串。
需要说明的是,双栈代理服务器收到www.aa.com源站服务器的响应后,分析响应页面内容是否包含外链资源的连接字符串,如http://bbb.bb.com/1.jpg,则修改源站服务器的响应为http://bbb.bb.zz.yy.xx/1.jpg其中yy.xx为能解析出IPV6地址的域名,可以为泛域名aa.com或者其他域名。zz可以为com或者com的代号字符串,方便后续还原真实url处理。
在实施例中,在步骤S1012之后,如果响应页面内容包含未完成IPV6改造的外链资源,则启动外链url资源调用服务,否则不存在网络协议不兼容的问题,也就无需启动外链url资源调用服务,具体实现过程为步骤S1013:若分析所述响应页面内容包含外链资源的连接字符串,则启动在所述双栈代理服务器上部署的外链url资源调用服务。
具体的,双栈代理服务器收到www.aa.com源站服务器的响应后,分析响应内容是否包含外链资源的连接字符串,如包含外链资源的连接字符串,例如http://bbb.bb.com/1.jpg,则启动在所述双栈代理服务器上部署的外链url资源调用服务。
步骤S1013中,启动在所述双栈代理服务器上部署的外链url资源调用服务,具体包括如下步骤S10131~S10132:
步骤S10131:以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器。
具体实施过程中,有以下几种可选的实施方式:
A1、通过所述外链url资源调用代理器根据预设改写规则,由包含外链域名信息的字符串构建特殊字符串,对所述响应页面内容中包含的外链url资源的连接字符串进行改写。
具体的,针对包含外链资源的网站内容对外链资源进行改写:以www.aa.com网站为例,请求http://www.aa.com/页面,响应内容中包含了客户端加载页面需要继续请求的外链资源:http://bbb.bb.com/1.jpg。若aa.com泛域名完成IPV6改造,而bbb.bb.com并未完成IPV6改造,将造成http://www.aa.com/页面展示的天窗问题,为此传统的解决天窗问题的方案为将页面中外链资源http://bbb.bb.com/1.jpg改写为http://bbb.bb.com.yy.xx/1.jpg,其中yy.xx只是一个泛指的代号,yy.xx是一个能解析出IPV6地址的域名,可以为已经完成IPV6改造的aa.com或者其他域名。有些方式可能会把.com换成其他字符,改写后外链为http://bbb.bb.zz.yy.xx/1.jpg,用于隔离原始外链域名信息和新域名yy.xx,方便双栈代理后续还原外链真正URL,http://bbb.bb.com/1.jpg并请求。
A2、通过所述外链url资源调用代理器根据预设加密规则,由包含外链域名信息的字符串和私有秘钥构建加密输入字符串,并对所述加密输入字符串进行加密运算,获得加密运算结果,对所述响应页面内容中包含的外链url资源的连接字符串进行改写。
具体的,举例来说,将页面中外链资源http://bbb.bb.com/1.jpg改写为http://AAAAAAAA.yy.xx/1.jpg的字符串形式,其中yy.xx为能解析出所述双栈代理服务器地址的域名,可以为泛域名aa.com或者其他域名。而AAAAAAAA则是一串加密后的特殊字符串的代指,该加密字符串生成规则为:由包含外链信息的字符串(假设为bbb.bb.com)构建一个输入字符串,针对输入字符串和只有双栈代理服务器持有的私有密钥,根据某种加密算法进行加密运算,加密运算结果为AAAAAAAA(不一定为8位字符)。所述私有密钥仅由双栈代理服务端持有,不对外公布。加密输入字符串除了可以包含外链域名信息外还可以包含其他含义的字符串。改写后外链资源url包含域名不限所属示例格式,也可以为A-A-A-A-A-A.yy.xx等格式,但总体上包含了可以根据某种规则还原真实加密结果串AAAAAAAA的信息和能解析到双栈代理服务器地址的域名yy.xx信息等。
为了防止加密运算结果被破解,还可以使用包含外链信息的字符串进行散列运算,如下所述:
A3、通过所述外链url资源调用代理器根据预设加密规则,由包含外链域名信息的字符串和私有秘钥构建加密输入字符串,并对所述加密输入字符串进行加密运算,获得加密运算结果,对所述响应页面内容中包含的外链url资源的连接字符串进行改写;并且通过所述外链url资源调用代理器根据预设散列规则,由包含外链域名信息的字符串和私有字符串构建散列输入字符串,并对所述散列输入字符串进行预设散列算法运算,获得签名散列运算结果,结合所述签名散列运算结果对所述响应页面内容中包含的外链url资源的连接字符串进行改写。
具体的,举例来说,将页面中外链资源http://bbb.bb.com/1.jpg改写为http://AAAAAAAABBBB.yy.xx/1.jpg的字符串格式,其中yy.xx为能解析出IPV6地址的域名,可以为泛域名aa.com或者其他域名。而AAAAAAAABBBB则是一串加密后的特殊字符串的代指,该加密字符串生成规则为:由包含外链信息的字符串(假设为bbb.bb.com)构建一个输入字符串,针对输入字符串和只有双栈代理服务器持有的私有密钥,根据某种加密算法进行加密运算,加密运算结果为AAAAAAAA(不一定为8位字符),为了防止加密运算结果被破解,还可以使用包含外链域名信息的字符串,拼接一个双栈代理服务器才持有的私有key字符串,构建输入字符串,然后选择一种散列算法(如MD5值)进行散列运算,将散列结果抽取固定位置字符串BBBB拼接在加密串AAAAAAAA后。所述包含外链域名信息的字符串为任意携带能够释义为bbb.bb.com域名的字符串,可以为bbb.bb.com.yy.xx或者bbb--bb--com.yy.xx、bbb--bb--zz.yy.xx、bbb.bb.com、bbb--bb--com、bbb.bb.zz等但不局限于上述字符串);所述BBBB散列字符串不一定仅指四位字符,也可以为其他位数的字符,另外该方案中,散列字符串非必须方案,也可以仅使用加密方案,散列方案可以作为加密方案补充。所述私有key字符串和私有密钥均由双栈代理服务端持有,不对外公布。加密或者散列输入字符串除了可以包含私有key、外链域名信息外还可以包含其他含义的字符串。改写后外链资源url包含域名不限所属示例格式,也可以为A-A-A-A-A-A-B-B-B.yy.xx等格式,但总体上包含了可以根据某种规则还原真实加密结果串AAAAAAAA或者散列结果串BBBB的信息和能解析到双栈代理服务器地址的域名yy.xx信息等。
在实施例中,在步骤S10131之后,执行步骤S10132:通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的相关信息。
具体实施中,有以下几种可选的实现方式:
B1、通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息。
举例来说,如上述实施例A1所示,将外链资源的连接字符串http://bbb.bb.com/1.jpg,修改为http://bbb.bb.zz.yy.xx/1.jpg其中yy.xx为能解析出双栈代理服务器的地址信息,bbb.bb为外链url域名信息。zz可以为com或者com的代号字符串,方便后续还原真实url处理。
B2、通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息和加密信息。
举例来说,如上述实施例A2所示,将页面中外链资源http://bbb.bb.com/1.jpg改写为http://AAAAAAAA.yy.xx/1.jpg的字符串形式,其中yy.xx为能解析出双栈代理服务器地址的域名,可以为泛域名aa.com或者其他域名。而AAAAAAAA则是包含外链域名信息的(假设为bbb.bb.com)加密后的特殊字符串,能解析出外链url域名信息。
B3、通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息和加密信息,以及签名散列运算结果。
举例来说,如上述实施例A3所示,将外链资源的连接字符串http://bbb.bb.com/1.jpg替换为形如格式http://AAAAAAAABBBB.yy.xx/1.jpg的字符串,其中yy.xx为能解析出双栈代理服务器的地址信息,可以为泛域名aa.com或者其他域名。而AAAAAAAABBBB则是一串加密后的特殊字符串,AAAAAAAA为能解析出外链url域名信息的加密字符串。BBBB为包含签名散列运算结果的字符串。
在步骤S101之后,接着执行步骤S102:通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求。
举例来讲,双栈代理服务器改写外链资源后,将改写后的页面响应内容发送给IPV6客户端;IPV6客户端收到双栈代理发送的http://www.aa.com/页面响应,分析展示页面还需加载外链资源http://bbb.bb.zz.yy.xx/1.jpg;IPV6客户端向DNS服务器请求解析bbb.bb.zz.yy.xx的IPV6地址,由于泛域名.yy.xx支持IPV6地址解析,且解析地址为双栈代理服务器所在,IPV6客户端向双栈代理服务器基于IPV6协议发送http://bbb.bb.zz.yy.xx/1.jpg请求。
在步骤S102之后,接着执行步骤S103:通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址。
需要说明的是,针对步骤S10131中不同的改写规则,步骤S103具体执行方式也有所不同。在上述A1实现方式中,步骤S103具体包括:从所述外链url调用请求中根据步骤1013中预设的改写规则进行相应的还原即可解析出外链url地址。
具体的,双栈代理服务器收到http://bbb.bb.zz.yy.xx/1.jpg请求,识别zz.yy.xx字符串的外链url,去除yy.xx信息,还原zz为com,准备请求外链资源http://bbb.bb.com/1.jpg。其中zz作用仅为区分是否外链资源的一个标识,如果是外链资源则要去除yy.xx后缀还原真实url,否则不用去除yy.xx后缀还原。使用zz代号可以在yy.xx为原始网站域名aa.com时,有效区分http://bbb.bb.zz.aa.com/1.jpg为一个外链资源需要去除aa.com,而不是aa.com网站自身的资源,否则若有一个aa.com自身的非外链资源http://ccc.cc.c.aa.com/也被当作外链资源去除aa.com,转发请求访问时就会出错。
需要说明的是,对于不支持IPV6协议的其他站点http://ddd.dd.com/,(该站点可能为一个恶意站点)若是有恶意用户从IPV6改造网站www.aa.com分析出上述改写规则,模拟改造后的外链http://bbb.bb.zz.yy.xx/url格式,直接在IPV6客户端输入http://ddd.dd.zz.yy.xx/进行访问。此时IPV6客户端向DNS服务器解析yy.xx的IPV6地址到为www.aa.com进行IPV6改造的双栈代理服务器,双栈代理服务将形如.zz.yy.xx的资源识别为外链,然后还原http://ddd.dd.com/并继而向ddd.dd.com所在源站发起请求,这样即使ddd.dd.com没有完成IPV6改造,恶意用户在IPV6客户端可以通过上述双栈代理作为跳板机对ddd.dd.com网站进行成功访问。上述本来为网站www.aa.com改造IPV6天窗问题的双栈代理服务器,因为“天窗“问题的改写机制漏洞,可以被当作IPV6环境下任意恶意访问的跳板机,不仅浪费机器处理资源,而且涉及到辅助敏感信息访问,显然不为乐见。
基于上述存在的问题,在上述A2实现方式中,提出一种能够更安全的解决“天窗”问题方法:一种基于加密的改写规则体系,因此在上述A2实现方式中,步骤S103具体包括:通过所述外链url资源调用代理器获得所述外链url资源调用服务的加密信息,根据所述预设加密规则进行解密,还原外链url地址。
具体的,若步骤S1013过程没有包含散列算法运算字符串BBBB,则双栈代理服务器收到http://AAAAAAAA.yy.xx/1.jpg请求,则直接根据解密结果后,使用固定的加密还原规则还原出http://bbb.bb.com/1.jpg继续请求外链资源,最后将获取的外链资源响应转发给IPV6客户端。
为了防止加密运算结果被破解,在上述A3实现方式中,提出一种能够更安全的解决“天窗”问题方法:一种基于加密和签名的改写规则体系,因此针对上述A3实现方式,步骤S103具体包括如下步骤S1031~S1036:
首先,执行步骤S1031、通过所述外链url资源调用代理器获得所述外链url资源调用服务的加密信息,根据所述预设加密规则进行解密,还原外链url地址;
步骤S1032、通过所述外链url资源调用代理器获得所述外链url调用请求中包含的所述外链域名信息和签名散列运算结果;
步骤S1033、通过所述外链url资源调用代理器根据所述外链域名信息和所述预设散列规则获得所述散列输入字符串;
步骤S1034、通过所述外链url资源调用代理器,根据所述散列输入字符串和所述预设散列算法运算获得校验散列运算结果;
步骤S1035、通过所述外链url调用请求资源调用代理器,将所述校验散列运算结果与所述签名散列运算结果进行比较;
步骤S1036、若一致,接受所述外链url调用请求,并从所述外链url调用请求中解析出外链url地址;否则,拒绝所述外链url调用请求。
具体的,若步骤S1013过程有包含散列算法运算字符串BBBB,双栈代理服务器收到http://AAAAAAAABBBB.yy.xx/1.jpg请求,则还原出解密结果后,根据步骤S10131预设的散列规则(仅有双栈代理服务器持有),先获取和拼接步骤S10131中散列输入字符串,使用步骤S10131的散列算法计算出散列结果,并抽取步骤S10131对应位数的散列结果,将该结果和BBBB字符串进行比对,若一致则允许该请求,并还原外链url为http://bbb.bb.com/1.jpg,继续请求外链资源,最后将获取的外链资源响应转发给IPV6客户端,若不一致,说明这是一个模拟“天窗“改写规则生成的恶意访问,直接决绝该请求访问。其优势在于:恶意访问用户即使可以模拟http://ZZZZZZZZZ.yy.xx/1.jpg格式的url请求,但由于没有私有密钥值,双栈代理器无法解密或者解密结果根本不是一个域名,恶意访问将会失败。同时若在增加散列运算的情况下,散列值也无法随意伪造,由于无法获取双栈服务器所持有的私有key、具体的散列算法以及散列运算的原始输入字符串和散列后结果抽取的位数,恶意用户无法伪造出准确的散列结果签名值,访问校验失败被拒绝。以此解决双栈代理服务器被当作恶意用户的跳板机问题。
在步骤S103之后,接着执行步骤S104:通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源。
具体的,双栈代理服务器准备请求http://bbb.bb.com/1.jpg时,先向DNS服务器解析bbb.bb.com的源站IPV4地址,通过IPV4协议向bbb.bb.com源站请求外链资源的响应,并在得到响应后,通过IPV6协议转发外链资源响应给IPV6客户端。
IPV6客户端得到外链资源响应后正常加载外链图片,而不会出现“天窗”问题。
在具体实施过程中,本发明实施例提供的外链url资源调用方法可以应用于IPV6客户端访问页面中包含外链IPV4网站资源的情形,下面以IPV6改造站点为www.aa.com,外链资源url为http://bbb.bb.com/1.jpg,应用本发明实施例提供外链url资源调用方法进行外链资源调用进行举例说明,具体实施步骤如下:
1、IPV6客户端访问http://www.aa.com/页面,DNS解析www.aa.com IPV6地址到双栈代理服务器上,IPV6客户端通过IPV6协议向双栈代理服务器发送HTTP请求http://www.aa.com/
2、双栈代理服务器收到请求后,再转发请求http://www.aa.com/回www.aa.com所在源站的服务器。
3、www.aa.com源站服务器收到http://www.aa.com/请求后向双栈代理服务器返回响应内容
4、双栈代理服务器收到www.aa.com源站服务器的响应后,分析响应内容是否包含外链资源的连接字符串,如http://bbb.bb.com/1.jpg,则修改源站服务器的响应内容,将http://bbb.bb.com/1.jpg替换为形如格式http://AAAAAAAABBBB.yy.xx/1.jpg的字符串,其中yy.xx为能解析出IPV6地址的域名,可以为泛域名aa.com或者其他域名,AAAAAAAABBBB则是一串加密后的特殊字符串。
5、双栈代理服务器将改写后的http://www.aa.com/页面响应通过IPV6协议转发给IPV6客户端。
6、IPV6客户端收到双栈代理发送的改写后的http://www.aa.com/页面响应,IPV6客户端加载响应页面时,发现还需请求http://AAAAAAAABBBB.yy.xx/1.jpg(如前所述,此处仅为示例而不局限此url格式)
7、IPV6客户端向DNS服务器请求解析域名AAAAAAAABBBB.yy.xx的IPV6地址,由于泛域名.yy.xx支持IPV6地址解析,且解析地址为双栈代理服务器所在地址,IPV6客户端向双栈代理服务器基于IPV6协议发送http://AAAAAAAABBBB.yy.xx/1.jpg(如前所述,此处仅为示例而不局限此url格式)。
8、双栈代理服务器收到http://AAAAAAAABBBB.yy.xx/1.jpg请求,提取AAAAAAAA字符串并根据持有的私有密钥进行解密,还原出解密后的结果bbb.bb.com,具体过程如下:
a、若步骤4过程没有包含散列算法运算字符串BBBB,则直接根据解密结果后,使用固定的还原规则还原出http://bbb.bb.com/1.jpg继续请求外链资源,最后将获取的外链资源响应转发给IPV6客户端;
b、若步骤4过程有包含散列算法运算字符串BBBB,则还原出解密结果后,根据步骤4的散列规则(仅有双栈代理服务器持有),先获取和拼接步骤4中散列输入字符串,使用步骤4的散列算法计算出散列结果,并抽取步骤4对应位数的散列结果,将该结果和BBBB字符串进行比对,若一致则允许该请求,并还原外链url为http://bbb.bb.com/1.jpg,继续请求外链资源,最后将获取的外链资源响应转发给IPV6客户端,若不一致,说明这是一个模拟“天窗“改写规则生成的恶意访问,直接拒绝该请求访问。
基于同一发明构思,本发明实施例提供一种外链url资源调用装置,参考图2所示,应用于双栈代理服务器,所述系统部署在双栈代理服务器上,包括启动单元201和外链url资源调用代理器202,其中:
所述启动单元201,用于启动在所述双栈代理服务器上部署的外链url资源调用服务;
所述外链url资源调用代理器202,具体包括:
请求获取单元2021,用于通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求,
地址确定单元2022,用于通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;
请求发送单元2023,用于通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源。
在一实施方式中,还包括:
监测单元,用于检测接收源站服务器发送的响应页面内容;
分析单元,用于分析所述响应页面内容是否包含外链资源的连接字符串。
在一实施方式中,所述启动单元201,包括:
改写子单元,用于以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器;
转发子单元,用于通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的相关信息。
在一实施方式中,所述改写子单元,具体用于:通过所述外链url资源调用代理器根据预设加密规则,由包含外链域名信息的字符串和私有秘钥构建加密输入字符串,并对所述加密输入字符串进行加密运算,获得加密运算结果,对所述响应页面内容中包含的外链url资源的连接字符串进行改写;和\或通过所述外链url资源调用代理器根据预设散列规则,由包含外链域名信息的字符串和私有字符串构建散列输入字符串,并对所述散列输入字符串进行预设散列算法运算,获得签名散列运算结果,结合所述签名散列运算结果对所述响应页面内容中包含的外链url资源的连接字符串进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器并包含所述签名散列运算结果;
所述转发子单元,具体用于:通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息和加密信息、签名散列运算结果;
所述地址确定单元,具体用于:
通过所述外链url资源调用代理器获得所述外链url资源调用服务的加密信息,根据所述预设加密规则进行解密,还原外链url地址;和\或
通过所述外链url资源调用代理器获得所述外链url调用请求中包含的所述外链域名信息和签名散列运算结果;
通过所述外链url资源调用代理器根据所述外链域名信息获得所述散列输入字符串;
通过所述外链url资源调用代理器,根据所述散列输入字符串和所述预设散列算法运算获得校验散列运算结果;
通过所述外链url调用请求资源调用代理器,将所述校验散列运算结果与所述签名散列运算结果进行比较;
若一致,接受所述所述外链url调用请求,并从所述外链url调用请求中解析出外链url地址;否则,拒绝所述外链url调用请求。
基于同一发明构思,本发明实施例提供一种计算机可读存储介质301,参考图3所示,其上存储有计算机程序302,该程序302被处理器执行时实现前述外链url资源调用方法实施例中所述的步骤。
基于同一发明构思,本发明实施例提供一种计算机设备1900,参考图4所示,该计算机设备1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在计算机设备1900上执行存储介质1930中的一系列指令操作。所述处理器执行所述程序时实现前述外链url资源调用服务调用实施例中任一种实施方式所述的步骤。
计算机设备1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
由于本实施例所介绍的电子设备为实施本申请实施例中外链url资源调用方法所采用的电子设备,故而基于本申请实施例中所介绍的外链url资源调用方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中外链url资源调用方法所采用的电子设备,都属于本申请所欲保护的范围。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
由于在提供外链url资源调用服务的双栈代理服务器上部署外链url资源调用代理器,因此,通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源,从而通过外链url调用代理器能够使IPV6客户端调用所访问的网站页面中包含的IPV4的外链url资源,不但解决了由于IPV6与IPV4协议不兼容导致的“天窗”问题,而且提高了外链url资源调用服务体系扩展的灵活性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的实现扩展应用程序的推送通知的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
Claims (5)
1.一种外链url资源调用方法,应用于双栈代理服务器,其特征在于,在所述双栈代理服务器上部署有外链url资源调用代理器,所述方法包括:
检测接收源站服务器发送的响应页面内容;
分析所述响应页面内容是否包含外链资源的连接字符串;
若分析所述响应页面内容包含外链资源的连接字符串,启动在所述双栈代理服务器上部署的外链url资源调用服务;
通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;
通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;
通过所述外链url调用代理器向所述外链url地址发送所述HTTP请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源;
其中,所述启动在所述双栈代理服务器上部署的外链url资源调用服务,具体包括:
以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器;
通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息和加密信息、签名散列运算结果。
2.如权利要求1所述的外链url资源调用方法,其特征在于,所述以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,包括:
通过所述外链url资源调用代理器根据预设加密规则,由包含外链域名信息的字符串和私有秘钥构建加密输入字符串,并对所述加密输入字符串进行加密运算,获得加密运算结果,对所述响应页面内容中包含的外链url资源的连接字符串进行改写;和\或
通过所述外链url资源调用代理器根据预设散列规则,由包含外链域名信息的字符串和私有字符串构建散列输入字符串,并对所述散列输入字符串进行预设散列算法运算,获得签名散列运算结果,结合所述签名散列运算结果对所述响应页面内容中包含的外链url资源的连接字符串进行改写。
3.如权利要求2所述的外链url资源调用方法,其特征在于,所述通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址,包括:
通过所述外链url资源调用代理器获得所述外链url资源调用服务的加密信息,根据所述预设加密规则进行解密,还原外链url地址;和\或
通过所述外链url资源调用代理器获得所述外链url调用请求中包含的所述外链域名信息和签名散列运算结果;
通过所述外链url资源调用代理器根据所述外链域名信息获得所述散列输入字符串;
通过所述外链url资源调用代理器,根据所述散列输入字符串和所述预设散列算法运算获得校验散列运算结果;
通过所述外链url调用请求资源调用代理器,将所述校验散列运算结果与所述签名散列运算结果进行比较;
若一致,接受所述外链url调用请求,并从所述外链url调用请求中解析出外链url地址;否则,拒绝所述外链url调用请求。
4.一种外链url资源调用装置,应用于双栈代理服务器,其特征在于,系统部署在双栈代理服务器上,包括监测单元、分析单元、启动单元和外链url资源调用代理器,其中:
所述监测单元,用于检测接收源站服务器发送的响应页面内容;
所述分析单元,用于分析所述响应页面内容是否包含外链资源的连接字符串;
所述启动单元,用于若分析所述响应页面内容包含外链资源的连接字符串,则启动在所述双栈代理服务器上部署的外链url资源调用服务,具体包括:
改写子单元,用于以预设的连接字符串改写规则对所述响应页面内容进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器;
转发子单元,用于通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息和加密信息、签名散列运算结果;
所述外链url资源调用代理器,具体包括:
请求获取单元,用于通过所述外链url调用代理器获取所述外链url资源调用服务对IPV6客户端用于请求调用外链url资源的HTTP请求进行改写后的外链url调用请求;
地址确定单元,用于通过所述外链url调用代理器从所述外链url调用请求中确定外链url地址;
请求发送单元,用于通过所述外链url调用代理器向所述外链url地址发送所述HTTP调用请求,使得所述外链url资源调用服务从所述双栈代理服务器上调用所述外链url资源。
5.如权利要求4所述的外链url资源调用装置,其特征在于,所述改写子单元,具体用于:通过所述外链url资源调用代理器根据预设散列规则,由包含外链域名信息的字符串和私有字符串构建散列输入字符串,并对所述散列输入字符串进行预设散列算法运算,获得签名散列运算结果,结合所述签名散列运算结果对所述响应页面内容中包含的外链url资源的连接字符串进行改写,获得改写后的页面响应内容,使得所述改写后的页面响应内容包含的外链url域名能解析到所述双栈代理服务器并包含所述签名散列运算结果;
所述转发子单元,具体用于:通过所述外链url资源调用代理器将所述改写后的页面响应内容转发给IPV6客户端,使得所述IPV6客户端发起包含所述改写后的页面响应内容的外链url调用请求时,能从DNS服务器获取到所述双栈代理服务器地址,再向所述双栈代理服务器发送所述外链url调用请求,并使得所述外链url资源调用代理器从所述外链url调用请求中获取所述外链url资源调用服务的外链域名信息和加密信息、签名散列运算结果;
所述地址确定单元,具体用于:
通过所述外链url资源调用代理器获得所述外链url资源调用服务的加密信息,根据预设加密规则进行解密,还原外链url地址;和\或
通过所述外链url资源调用代理器获得所述外链url调用请求中包含的所述外链域名信息和签名散列运算结果;
通过所述外链url资源调用代理器根据所述外链域名信息获得所述散列输入字符串;
通过所述外链url资源调用代理器,根据所述散列输入字符串和所述预设散列算法运算获得校验散列运算结果;
通过所述外链url调用请求资源调用代理器,将所述校验散列运算结果与所述签名散列运算结果进行比较;
若一致,接受所述外链url调用请求,并从所述外链url调用请求中解析出外链url地址;否则,拒绝所述外链url调用请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333764.7A CN109543121B (zh) | 2018-11-09 | 2018-11-09 | 一种外链url资源调用方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811333764.7A CN109543121B (zh) | 2018-11-09 | 2018-11-09 | 一种外链url资源调用方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109543121A CN109543121A (zh) | 2019-03-29 |
CN109543121B true CN109543121B (zh) | 2023-11-03 |
Family
ID=65846647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811333764.7A Active CN109543121B (zh) | 2018-11-09 | 2018-11-09 | 一种外链url资源调用方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109543121B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865886A (zh) * | 2019-04-30 | 2020-10-30 | 深信服科技股份有限公司 | 一种ip地址信息配置方法、系统、装置及存储介质 |
CN111866198A (zh) * | 2019-04-30 | 2020-10-30 | 深信服科技股份有限公司 | 一种链接访问方法、系统、装置及计算机可读存储介质 |
CN111107056A (zh) * | 2019-11-22 | 2020-05-05 | 睿哲科技股份有限公司 | 外链url资源调用的方法、装置及协议转换服务器 |
CN110971721A (zh) * | 2019-12-13 | 2020-04-07 | 睿哲科技股份有限公司 | 外链处理方法、装置、服务器及存储介质 |
CN111064827B (zh) * | 2020-03-18 | 2020-07-07 | 同盾控股有限公司 | 基于域名泛解析的代理检测方法、装置、设备及介质 |
CN111416862B (zh) * | 2020-03-20 | 2021-06-15 | 福建万物易联网络科技有限公司 | 一种基于ipv6 ipv4的cdn平台访问方法及系统 |
CN111416885B (zh) * | 2020-03-20 | 2021-04-06 | 福建万物易联网络科技有限公司 | 一种固定长度域名的外链改写分布式系统 |
CN112148354B (zh) * | 2020-09-27 | 2023-07-25 | 网易(杭州)网络有限公司 | 游戏的启动方法及装置 |
CN112600950A (zh) * | 2020-12-09 | 2021-04-02 | 福建万物易联网络科技有限公司 | 一种短横杆格式的外链改写方法及系统 |
CN112771835B (zh) * | 2020-12-25 | 2023-05-02 | 山石网科通信技术股份有限公司 | 外链改写的处理方法和装置 |
CN112650955B (zh) * | 2020-12-30 | 2024-04-12 | 中国农业银行股份有限公司 | 一种统一资源定位符url的处理方法及装置 |
US11522826B2 (en) | 2021-02-04 | 2022-12-06 | Webshare Software Company | Automatic IPV6/IPV4 fallback approach in proxy networks |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102625A (ja) * | 2008-10-27 | 2010-05-06 | Fujitsu Ltd | ユニフォームリソースロケータ書換方法及び装置 |
CN102694754A (zh) * | 2012-06-07 | 2012-09-26 | 广州睿哲网络科技有限公司 | 实现IPv4/IPv6网站内容互通的应用网关技术及系统 |
CN104572843A (zh) * | 2014-12-12 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 一种页面的加载方法及装置 |
CN109561078B (zh) * | 2018-11-09 | 2022-04-12 | 深圳万物云联科技有限公司 | 一种外链url资源调用方法及装置 |
-
2018
- 2018-11-09 CN CN201811333764.7A patent/CN109543121B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102625A (ja) * | 2008-10-27 | 2010-05-06 | Fujitsu Ltd | ユニフォームリソースロケータ書換方法及び装置 |
CN102694754A (zh) * | 2012-06-07 | 2012-09-26 | 广州睿哲网络科技有限公司 | 实现IPv4/IPv6网站内容互通的应用网关技术及系统 |
CN104572843A (zh) * | 2014-12-12 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 一种页面的加载方法及装置 |
CN109561078B (zh) * | 2018-11-09 | 2022-04-12 | 深圳万物云联科技有限公司 | 一种外链url资源调用方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109543121A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109543121B (zh) | 一种外链url资源调用方法及装置 | |
CN109561078B (zh) | 一种外链url资源调用方法及装置 | |
US8898796B2 (en) | Managing network data | |
US9565161B2 (en) | Automatically replacing localhost as hostname in URL with fully qualified domain name or IP address | |
US10574724B2 (en) | Automatic discovery of management nodes and generation of CLI using HA module | |
CN107463453B (zh) | 同一终端不同应用间通信的方法、装置、设备和存储介质 | |
CN105389222A (zh) | 一种动态调用原生接口的方法、装置和系统 | |
CN105430011A (zh) | 一种检测分布式拒绝服务攻击的方法和装置 | |
US11134117B1 (en) | Network request intercepting framework for compliance monitoring | |
WO2018133772A1 (zh) | 网页资源的获取方法和装置、存储介质、电子装置 | |
CN111917900A (zh) | 一种域名代理的请求处理方法及装置 | |
US12166742B2 (en) | Domain name resolution method and apparatus, and computer device | |
CN112241298A (zh) | 页面显示方法及装置、存储介质、电子装置 | |
CN104040538B (zh) | 一种互联网应用交互方法、装置及系统 | |
CN105141709A (zh) | 确定应用程序内页面跳转的方法及装置 | |
CN113923008A (zh) | 一种恶意网站拦截方法、装置、设备及存储介质 | |
CN107181785A (zh) | 执行请求指令的方法及相关的服务器 | |
US11522832B2 (en) | Secure internet gateway | |
JP2021108090A (ja) | Linux仮想マシンのSocketリスニングの検出方法及びそのシステム | |
CN104077158A (zh) | 安装插件的方法及装置 | |
CN111225038B (zh) | 服务器访问方法及装置 | |
JP6484166B2 (ja) | 名前解決装置、名前解決方法及び名前解決プログラム | |
CN111722883A (zh) | 一种接口地址的更新方法、装置和计算机可读存储介质 | |
CN116820958A (zh) | 一种基于代理的多环境自动化测试方法及系统 | |
CN109660497B (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 |