知识问答
Jsonp 是什么
JSONP是数据格式JSON的一种“使用模式”,可以让网页从别的网域要数据,利用script元素开放策略,网页可以从其他来源动态产生的JSON数据,而这种使用模式就是所谓的 JSONP。
JSONP 是数据格式 JSON 的一种“使用模式”,可以让网页从别的网域要数据。另一个解决这个问题的新方法是跨来源资源共享。利用 script 元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 数据,而这种使用模式就是所谓的 JSONP。用 JSONP 抓到的数据并不是 JSON,而是任意的 JavaScript,用 JavaScript 解释器运行而不是用 JSON 解析器解析。
为了要引导一个 JSONP 调用(或者说,使用这个模式),你需要一个 script 元素。因此,浏览器必须为每一个 JSONP 要求加(或是重用)一个新的、有所需 src 值的 script 元素到 HTML DOM 里—或者说是“注入”这个元素。浏览器运行该元素,抓取 src 里的 URL,并运行回传的 JavaScript。
也因为这样,JSONP 被称作是一种“让用户利用 script 元素注入的方式绕开同源策略”的方法。
安全问题
使用远程网站的 script 标签会让远程网站得以注入任何的内容至网站里。如果远程的网站有 JavaScript 注入漏洞,原来的网站也会受到影响。
现在有一个正在进行项目在定义所谓的 JSON-P 严格安全子集,使浏览器可以对 MIME 类别是“application/json-p”请求做强制处理。如果回应不能被解析为严格的 JSON-P,浏览器可以丢出一个错误或忽略整个回应。
跨站请求伪造
粗略的 JSONP 部署很容易受到跨站请求伪造(CSRF/XSRF)的攻击。因为 HTML script 标签在浏览器里不遵守同源策略,恶意网页可以要求并获取属于其他网站的 JSON 数据。当用户正登录那个其他网站时,上述状况使得该恶意网站得以在恶意网站的环境下操作该 JSON 数据,可能泄漏用户的密码或是其他敏感数据。
只有在该 JSON 数据含有不该泄漏给第三方的隐密数据,且服务器仅靠浏览器的同源策略阻挡不正常要求的时候这才会是问题。若服务器自己决定要求的专有性,并只在要求正常的情况下输出数据则没有问题。只靠 Cookie 并不够决定要求是合法的,这很容易受到跨站请求伪造攻击。
jsonp上一篇:云桌面和云服务器的区别是什么
下一篇:如何设置静态IP
最新文章
- 如何利用基因查询优化器来提升MySQL的查询性能?
- 企业备案域名出售的风险有哪些,企业备案域名出售的步骤和注意事项
- 什么是https代理ip,深入了解https代理ip的使用流程
- MapReduce项目,如何实现大规模数据处理的优化?
- 如何在本地环境中搭建自己的网站?
- vbscript 循环语句
- 如何操作MySQL数据库以导出特定表的结构?
- 石家庄搜索引擎优化有哪些技巧,石家庄搜索引擎优化全攻略「石家庄如何优化搜索引擎」
- 如何解决MT5客户端连接服务器时遇到的失败问题?
- 详情页模板免费网站有哪些,商品详情页设计与制作,详情页模板免费下载
- 如何深入理解MapReduce的设计思想与流程设计?
- 自贡网络推广到底该如何做,自贡网络推广的必要性
- 什么是SEO培训学院,SEO培训学院的优势及效果
- 网络销售如何寻找客户
- 如何实现MySQL字段拼接字符串并进行转换?
- c语言中1怎么理解
- 抖音主页访客记录怎么看-抖音主页访客记录查看教程
- 如何通过进阶实践提升MySQL数据库优化技能以应对面试挑战?
- 美国代理主机下载,附详细介绍
- 域名邮箱怎么登陆