揭开跨域的面纱(下)

来源:互联网 发布:年轻的程序员 编辑:程序博客网 时间:2024/06/05 08:05

JSONP跨域技术

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

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

JSONP是通过动态

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

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


参考《JavaScript高级程序设计》

转载需注明出处

原创粉丝点击