您现在的位置:首页 >> 前端 >> 内容

揭开跨域的面纱(下)

时间:2017/7/12 11:09:19 点击:

  核心提示:JSONP跨域技术 在CORS出现之前,细心的开发者发现网页上的图片可以从任何网页中加载,如果我们把图片的地址改为我们需要请求跨域的地址,那不就实现跨域了,同样的网页。例子:var img = new...

JSONP跨域技术

在CORS出现之前,细心的开发者发现网页上的图片可以从任何网页中加载,如果我们把图片的地址改为我们需要请求跨域的地址,那不就实现跨域了,同样的网页。

例子:
var img = new Image();
img.onload = img.onerror = function(){
  // 通过load和error事件监听响应什么时候收到
};
img.src = 'https://www.XXX.com/params?name=XXX';

JSONP是通过动态

例子:
function headleRequest(response){
  // 处理响应
}
var script = document.createElement('script');
script.src = ' https://www.XXX.com/json/?callback=headleRequest ';
document.body.insertBefore(script,document.body.firstChild);

JSONP相对于<img />,可以直接访问响应文本,但是因为JSONP是从其他网站加载脚本执行,如果请求的是黑客的网站呢,这样我们的网站就直接执行了黑客的evil脚本,
这是很危险的,所以,使用JSONP时应该防备XSS。

作者:网络 来源:国际_新生Blog