JSONP请求方法及装置制造方法及图纸

技术编号:13799687 阅读:40 留言:0更新日期:2016-10-07 02:31
本申请公开了一种JSONP请求方法及装置,其中方法包括:第一域页面所在浏览器确定第一域页面需要调用第二域页面资源;所述浏览器在第一域页面嵌入第三域页面,其中,第三域页面与第一域页面不同源;所述浏览器通过第三域页面向第二域页面对应的服务器发起调用第二域页面资源的JSONP请求;所述浏览器通过第三域页面接收所述服务器返回的第二域页面资源;所述浏览器通过第三域页面将第二域页面资源提供至第一域页面。本申请可以保证JSONP请求过程中访问者的页面的安全性,可以节省网络带宽资源和维护成本,能够支持各种类型的浏览器。

【技术实现步骤摘要】

本申请涉及网页
,尤其涉及JSONP请求方法及装置
技术介绍
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-2623rd Edition-December 1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成(网络传输速度快)。JSONP(JSON with Padding)是JSON的一种“使用模式”,可以让网页从别的网域要资料,可用于解决主流浏览器的跨域数据访问的问题。JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。浏览器的同源策略,即只有相同域名、协议、端口的两个站点才能互相访问DOM。由于同源策略,一般来说位于server1.example.com的网页无法与不是server1.example.com的服务器沟通,而HTML的<script>元素是一个例外。利用<script>元素的这个开放策略,网页可以得到从其他来源动态产生的JSON资料,而这种使用模式就是所谓的JSONP。用JSONP抓到的资料并不是JSON,而是任意的JavaScript,用JavaScript直译器执行而不是用JSON解析器解析。JSONP是一种常见的请求的方式,但因为JSONP访问实际是需要在访问者的页面上插入被访问者的脚本资源,而如果这些脚本资源被修改成为不安全的代码则会让访问者受到攻击,所以使用JSONP存在一定的风险。例如,跨网站脚本(Cross-site scripting,通常简称为XSS或跨站脚本或跨站脚本攻击)等。XSS攻击是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。XSS攻击通常用于利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是
JavaScript,但实际上也可以包括Java,VBScript,ActiveX,Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。这种情况常见于运营活动需要访问第三方JSONP资源,当第三方网站收到攻击后,发起访问的站点也将受到攻击。例如,当被访问的JSONP资源站点受到攻击,则很容易让发起访问的站点受到攻击(用户cookie被盗等)。如A站点发起JSONP请求B站点,当B站点的JSONP资源被修改成为有危害性的代码,这些代码会通过JSONP请求在A站点页面上执行,从而让A站点收到攻击。现有技术中对于JSONP请求的安全性,采用制定MIME-type(\application/json-p\and/or
ext/json-p\)的方式,让浏览器知道请求的类型是JSONP,再让浏览器去检测是否是这样的格式:functionName({JSON本文档来自技高网
...

【技术保护点】
一种JSONP请求方法,其特征在于,包括:第一域页面所在浏览器确定第一域页面需要调用第二域页面资源;所述浏览器在第一域页面嵌入第三域页面,其中,第三域页面与第一域页面不同源;所述浏览器通过第三域页面向第二域页面对应的服务器发起调用第二域页面资源的JSONP请求;所述浏览器通过第三域页面接收所述服务器返回的第二域页面资源;所述浏览器通过第三域页面将第二域页面资源提供至第一域页面。

【技术特征摘要】
1.一种JSONP请求方法,其特征在于,包括:第一域页面所在浏览器确定第一域页面需要调用第二域页面资源;所述浏览器在第一域页面嵌入第三域页面,其中,第三域页面与第一域页面不同源;所述浏览器通过第三域页面向第二域页面对应的服务器发起调用第二域页面资源的JSONP请求;所述浏览器通过第三域页面接收所述服务器返回的第二域页面资源;所述浏览器通过第三域页面将第二域页面资源提供至第一域页面。2.如权利要求1所述的方法,其特征在于,第三域页面为静态超文本标记语言HTML页面。3.如权利要求1或2所述的方法,其特征在于,第三域页面部署于内容分发网络CDN上。4.如权利要求1所述的方法,其特征在于,所述浏览器通过第三域页面将第二域页面资源提供至第一域页面,包括:所述浏览器采用window.name方法或postMessage方法进行跨域数据传输,将第二域页面资源通过第三域页面提供至第一域页面。5.如权利要求1所述的方法,其特征在于,第二域页面与第一域页面同源;或,第二域页面与第一域页面不同源。...

【专利技术属性】
技术研发人员:鲁亚然
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1