jsonp 解决浏览器跨域 方法和原因 为什么不安全

jsonp 原理是什么?
就是使用了script的src属性在请求文件的时候吧数据携带过来,就是一个函数的定义和函数的调用,然后设置一个回调函数在请求到以后执行这个函数 获取内容

这个callback参数就是告诉服务器定义的函数的函数名,然后获取到以后执行这个函数

show(){
	//获取内容
	//执行代码
}
let url="http://XXXXXX?cb=show";
let scriptE= document.createElement('script');
scriptE.src=url;
document.head.append(scriptE)

jsonp 已经不是很常用了,是不安全不可靠的

1.它只支持GET请求而不支持POST等其它类型的HTTP请求
2.它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行3.JavaScript调用的问题。
4.jsonp在调用失败的时候不会返回各种HTTP状态码。

缺点是安全性。万一假如提供jsonp的服务存在页面注入漏洞,即它返回的javascript的内容被人控制的。那么结果是什么?所有调用这个 jsonp的网站都会存在漏洞。于是无法把危险控制在一个域名下…所以在使用jsonp的时候必须要保证使用的jsonp服务必须是安全可信的

猜你喜欢

转载自blog.csdn.net/zhanghuanhuan1/article/details/90341698