首页 > 试题广场 >

JSONP的缺点

对于jsonp,小编向大家介绍过它可以解决跨域(https://www.py.cn/web/js/22606.html),不过在使用的过程中,还需注意很多问题。本文向大家介绍jsonp的优缺点及它的安全防范。

优点:

兼容性比较好,可用于解决主流浏览器的跨域数据访问的问题;

不受到同源策略的限制,在请求完毕后可以通过调用 callback 的方式回传结果。

数据的格式没有发生很大变化

缺点:

仅支持get请求;

具有局限性,不安全,可能会受到XSS攻击;

只支持跨域 HTTP 请求这种情况,不能解决不同域的两个页面之间如何进行 javascript 调用的问题。

安全防范:

1、防止callback参数意外截断js代码,特殊字符单引号双引号,换行符存在风险.

2、防止callback参数恶意添加script标签,造成xss漏洞

3、防止跨域请求滥用,阻止非法站点恶意调用

以上就是jsonp的优缺点及它的安全防范,在使用jsonp过程中注意优化缺点,规避缺点哟~

发表于 2022-03-21 05:42:55 回复(0)

优点

1. 不受到同源策略的限制。

2. 它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持

3. 在请求完毕后可以通过调用callback的方式回传结果。将回调方法的权限给了调用方。这个就相当于将controller层和view层终于分开了。我提供的jsonp服务只提供纯服务的数据,至于提供服务后的页面渲染和后续view操作都由调用者来自己定义就好了。如果有两个页面需要渲染同一份数据,只需要有不同的渲染逻辑就可以了。


缺点

1. 只支持GET请求而不支持其它类型的HTTP请求。

2. 它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

3. jsonp在调用失败的时候不会返回各种HTTP状态码。

4. 安全性问题。假如提供jsonp的服务存在页面注入的漏洞,就有可能会导致所有调用这个jsonp的网站都会存在漏洞。所以在使用jsonp的时候必须要保证使用的jsonp服务必须是安全可信的。

编辑于 2021-03-12 20:36:41 回复(0)