在axios源码的lib文件夹下的adapters/xhr.js文件中,原代码为:
if ((request.responseType === 'stream' || request.responseType === 'blob') && typeof response.data === 'string') { reject(createError('ECONNABORTED', 'Connection aborted', request));
}
可以将其改为:
if ((request.responseType === 'stream' || request.responseType === 'blob') && typeof response.data !== request.responseType) { reject(createError('ECONNABORTED', 'Connection aborted', request));
}
这样修改后,比较类型就变成了responseType,而不是string,从而解决了高危漏洞问题。