jsonp跨域资源引起CORB
时间: 2023-07-01 17:27:29 浏览: 263
JSONP和CORB是两个不同的跨域安全机制,它们之间并没有直接的关系。
JSONP(JSON with Padding)是一种跨域数据传输方式,它利用了script标签不受同源策略限制的特性,通过动态创建script标签,将需要获取的数据作为参数传递到后端,后端将数据包装在一个函数中返回给前端,前端通过回调函数获取数据。JSONP的缺点是只支持GET请求,并且容易受到XSS攻击。
CORB(Cross-Origin Read Blocking)是一种浏览器安全机制,用于防止恶意网站读取跨域资源。当浏览器发现跨域请求返回的资源类型为text/html、application/xml、application/json等类型时,如果响应头没有明确指定允许跨域读取,浏览器会拦截该资源并阻止其被读取。
因此,如果JSONP跨域请求返回的资源类型为text/html、application/xml、application/json等类型,并且响应头没有明确指定允许跨域读取,那么该资源就会被浏览器拦截并阻止读取,从而引起CORB问题。
相关问题
Cross-Origin Read Blocking (CORB) 已屏蔽 MIME 类型为 text/html 的跨域响应
这是一个浏览器的安全机制,用于防止跨域读取敏感信息。它会阻止在浏览器上运行的脚本读取来自不同域的响应,特别是 MIME 类型为 text/html 的响应。这是因为这些响应可能包含敏感信息,如用户登录凭据等。如果你需要访问跨域响应,可以通过 CORS(跨源资源共享)机制或者 JSONP(JSON with Padding)来解决。
跨源读取阻止(CORB)功能阻止了 MIME 类型为 application/json 的跨源响应但是使用这个JSONP会报错
CORB(Cross-Origin Read Blocking,跨域读取阻止)是浏览器的一种安全机制,用于防止恶意网站通过跨域读取用户敏感数据。CORB 会阻止浏览器加载某些 MIME 类型为 application/json 的跨域响应,以保护用户的隐私和数据安全。
使用 JSONP 可以绕过浏览器的同源策略限制,但是 JSONP 也有一些限制,例如只能使用 GET 请求方式,只能接收 JSON 数据格式等。如果使用 JSONP 会报错,那么可以考虑使用 CORS(Cross-Origin Resource Sharing,跨域资源共享)或代理服务器来解决跨域问题。
使用 CORS 时,服务器需要设置相应的响应头信息,允许指定的域名访问该资源,可以使用 GET、POST 等请求方式,支持更多的数据格式。使用代理服务器时,可以在自己的服务器上建立一个代理服务器,由代理服务器去请求目标服务器的数据,再将数据返回给浏览器,浏览器只需要访问代理服务器即可,避免了跨域问题。
需要根据实际情况选择合适的解决方案来解决跨域问题。
阅读全文