出现Cross-Origin Read Blocking (CORB) blocked cross-origin response 报错解决方法

1.错误分析
这里我调用的是qq音乐的一个接口
在这里插入图片描述
所有的的参数 都和qq音乐那边的保持一致。

当我 console.log所抓取数据时,查看控制台时发现了以下错误
在这里插入图片描述
其实禁止跨域请求是浏览器本身的一种安全策略。

2.跨域资源共享(Cross-Origin-Resource-Sharing)
跨域资源共享(CORS)机制,是为了浏览器能更为安全的处理跨域请求,使其不受同源策略的限制。简单来说就是把需要允许跨域的源写入response头里的Access-Control-Allow-Origin。对应的源就可以实现跨域资源共享了。

3.解决方法
这里 我写了一个后端代理接口来解决这个问题

我们进入到vue.config.js配置文件

首先要引入erpress这个包
在这里插入图片描述
注意vue 3.0 不会自带 express 要自己 npm。

同时我们还要npm 一个 axios 这个相信大家都听说过

axios 基于promise用于浏览器和node.js的http客户端
在这里插入图片描述
然后开始写我的代理接口
在这里插入图片描述
我们在这里引入qq音乐的接口地址,axios的具体使用方法在这里就不详细说明了百度自己搜索吧。

然后在我们自己引用的就是自己写的
在这里插入图片描述

因为qq音乐设置 Referer 不能直接通过浏览器抓接口,但是防不了我们这种后端代理的方式

配置完之后我们打开控制台查看 这里显示Referer我们自己的,而实际上已经修改成立qq音乐的Referer

在这里插入图片描述
这样就相当于欺骗了qq音乐,它就会认为是自己那边发出来的请求。

这时我们在console.log

发现已经可以拿到数据了。
在这里插入图片描述

4.注意事项
不要使用过多的接口 当你的数据访问量过大 你的ip可能会被他们封禁

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Cross-Origin Read Blocking (CORB) 是一项安全功能,用于阻止网页从不同源(即不同域名)读取敏感数据。如果 CORB 检测到跨域请求的数据属于敏感类型,它将阻止该请求并返回错误信息。 ### 回答2: 首先,我们需要了解同源策略(Same Origin Policy)。同源策略是一种安全机制,限制了网站在脚本中如何操作来自不同来源的文档、窗口或框架。简而言之,如果两个页面拥有协议、主机和端口号完全相同,那么它们就是同源的。 而当请求跨域资源时,服务器必须在响应中设置特定的HTTP头——CORS(Cross-Origin Resource Sharing)授权。这个头告诉浏览器是否允许一个页面访问来自不同源服务器的特定资源。如果服务器没有设置这个HTTP头,浏览器默认会阻止请求。 那么,什么是CORB呢?CORB是Chrome浏览器所实现的另一种安全机制,其目的在于防止来自不同源服务器的恶意代码,以及保护隐私信息。它会拦截并阻止一部分潜在的XSS攻击,并使渲染过程更高效。 当我们在Chrome中请求跨域资源时,如果返回的内容被Chrome识别为危险的MIME类型,并且服务器没有设置CORS授权的HTTP头,就会出现“Cross-Origin Read BlockingCORBBlocked Cross-Origin Response”的错误。这个错误意味着浏览器无法读取来自另一个域的响应,因此,浏览器会阻止访问这些跨域资源。 所以,解决这个错误的方法是服务器需要设置CORS授权的HTTP头。如果服务器无法设置这个HTTP头,我们就不能直接从JS中访问这些跨域资源了,而需要采取其它的处理方式,比如通过代理等。 ### 回答3: Cross-origin read blocking (CORB)是一种浏览器安全机制,旨在防止跨站脚本攻击和信息泄漏,防止恶意网站通过注入恶意脚本来窃取用户敏感信息。在实际应用中,由于站点间跨域问题,有可能会经常遭遇到“cross-origin read blocking (corb) blocked cross-origin response”的提示。 “cross-origin read blocking (corb) blocked cross-origin response”提示意味着当前页面试图读取另一个域名下的资源,然而在跨域请求中,目标站点返回了一个被拦截的响应。这通常意味着当前页面试图从一个不受信任的域名下请求资源。浏览器会拦截这个跨域请求,防止页面从其他站点获取潜在的危险信息。 要解决“cross-origin read blocking (corb) blocked cross-origin response”问题,有几种方法: 1. 通过设置CORS(跨域资源共享)来允许站点间跨域访问。这需要在目标站点上设置一些标头,例如“Access-Control-Allow-Origin”。 2. 可以考虑使用JSONP(JSON with padding)方法,这是一种跨域请求的方法,它可以通过动态地在页面上添加一个脚本来请求数据。 3. 使用代理服务器可以将跨域请求转发到另一个域名下,以避免被拦截。 总体而言,“cross-origin read blocking (corb) blocked cross-origin response”提示意味着当前页面试图从一个不受信任的站点获取潜在的危险信息。为了保障用户安全和信息安全,浏览器会阻止这样的跨域请求。开发者可以通过设置CORS或使用JSONP等方法解决这一问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值