美文网首页
CORS 访问控制备忘录

CORS 访问控制备忘录

作者: abyte | 来源:发表于2019-08-18 21:03 被阅读0次

关于 CORS 的基础知识在 MDN上有很详细的描述HTTP访问控制(CORS)和可能会有的隐患。CORS机制及其风险

不过有一点需要注意,跨域的请求,最终是会被目标服务器当作一个正常的请求处理,只是浏览器拦截了返回结果。
A页面里有一个ajax请求访问B服务的接口,B服务没有设置 Access-Control-Allow-Origin这个header。
查看B的 nginx 的 access_log 还是可以看到请求被正确处理,返回200状态码。

192.168.10.1 - - [18/Aug/2019:17:12:36 +0800] "GET /test HTTP/1.1" 200 40 "http://a.test/test.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"

经过测试发现:如果将设置 withCredentials 为 true,浏览器会携带上cookie请求目标服务器,服务器正常处理和相应。

<script>
    $.ajaxSetup({xhrFields: {withCredentials: true}});
    $.get('http://b.test/test',[], function (data) {
        alert(data);
    });
</script>

也就是说你可以在A页面携带上B的身份凭证数据去搞事情。除非A页面是在自己可以控制的浏览器(App 内置浏览器),那样就可以拦截B服务器返回的数据包。不过A都已经在自己的App了,想玩啥不行?

相关文章

  • CORS 访问控制备忘录

    关于 CORS 的基础知识在 MDN上有很详细的描述HTTP访问控制(CORS)和可能会有的隐患。CORS机制及其...

  • HTTP 访问控制(CORS)

    参考原文 当一个资源从与该资源本身所在的服务器不同的域或端口请求一个资源时,资源会发起一个 跨域 HTTP 请求。...

  • HTTP访问控制(CORS)

    简单请求 触发简单请求 某些请求不会触发 CORS 预检请求。本文称这样的请求为“简单请求”,请注意,该术语并不属...

  • HTTP访问控制(CORS)

    引用自HTTP访问控制(CORS) 当 Web 资源请求由其它域名或端口提供的资源时,会发起跨域 HTTP 请求(...

  • HTTP访问控制(CORS)

    传送门:Cross-Origin Resource Sharing (CORS) 当一个资源从与该资源本身所在的服...

  • HTTP访问控制(CORS)

    在Web开发中,经常会碰到跨站请求。比如A域名下的站点http://domainA通过AJAX请求B域名下的站点h...

  • HTTP访问控制(CORS)

    什么是CORS? CORS(Cross-Origin Resource Sharing ) 全称“跨域资源共享”,...

  • HTTP访问控制 - CORS

    一、什么是CORS 域:在浏览器里,两个资源拥有相同的域名、协议、端口,成为同域,其中一个不同即成为跨域。现代浏览...

  • 再谈CORS

    承接上文 HTTP访问控制(CORS) 关于CORS的说明,这篇MDN文章 论述地非常详细、精彩,建议大家先阅读几...

  • 跨域

    参考资料 HTTP访问控制(CORS)跨域解决方案跨域详解

网友评论

      本文标题:CORS 访问控制备忘录

      本文链接:https://www.haomeiwen.com/subject/sdzrsctx.html