程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否可以捕获CORS错误?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决是否可以捕获CORS错误??

开发过程中遇到是否可以捕获CORS错误?的问题如何解决?下面主要结合日常开发的经验,给出你关于是否可以捕获CORS错误?的解决方法建议,希望对你解决是否可以捕获CORS错误?有所启发或帮助;

看到:

  • http://www.w3.org/TR/cors/#handling-a-response-to-a-cross-origin-request

…以及XHR Level 2中有关CORS的注释:

该信息被有意过滤。

几个月后进行编辑:此处的后续评论要求“为什么”;第一个链接的锚点缺少几个字符,这使得我很难看清我指的是文档的哪一部分。

这是安全的事情-尝试避免在http标头中公开可能敏感的信息。关于CORS的W3C链接说:

该段落包括“简单响应头”的链接,其中列出了缓存控制,内容语言,内容类型,过期,最后修改时间和语用。这样那些就通过了。“ Access-Control- Expose-headers标头”部分使远程服务器也可以通过在其中列出其他标头来公开其他标头。有关更多信息,请参见W3C文档。

请记住,您有一个来源-假设这是您加载到浏览器中的网页,并运行了一些JavaScript- 脚本正在向另一个来源发出请求,通常不允许这样做,因为恶意软件会做一些令人讨厌的事情,道路。因此,运行脚本并代表其执行http请求的浏览器将充当网守。

浏览器会查看来自该“其他来源”服务器的响应,如果它似乎未参与CORS,则-所需的标头丢失或格式错误- 那么我们处于不信任的位置。我们无法确定本地运行的脚本是否善意运行,因为它似乎正在尝试联系不希望通过这种方式联系的服务器。浏览器当然不应该通过仅将其整个响应传递给脚本而不进行过滤来“泄漏”该远程服务器的任何敏感信息- 这基本上是 允许 某种形式的跨域请求。会出现信息泄露漏洞。

这可能会使调试变得困难,但是这是安全性与可用性之间的折衷,因为在这种情况下,由于“用户”是开发人员,因此安全性具有重要的优先权。

解决方法

此问题与跨域资源共享(CORS)有关。

如果在发出CORS请求时出现错误,Chrome(以及AFAIK其他浏览器)会将错误记录到错误控制台。消息示例可能如下所示:

XMLhttprequest无法加载http://domain2.example。原产地http://domain1.example不被访问控制允许来源允许的。

我想知道是否有办法以编程方式获取此错误消息?我尝试将xhr.send()调用包装在try/catch中,也尝试添加onerror()事件处理程序。两者均未收到错误消息

大佬总结

以上是大佬教程为你收集整理的是否可以捕获CORS错误?全部内容,希望文章能够帮你解决是否可以捕获CORS错误?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。