【问题标题】:How to test CORS with Mule如何使用 Mule 测试 CORS
【发布时间】:2017-02-20 21:56:05
【问题描述】:

我正在使用 Anypoint Studio 6.1 和 Mule 3.8.1 并且有一个 mule RESTful 应用程序,我想阻止 CORS 请求被应用程序接受。

应用程序已设置为执行此操作,但证明此操作有效的最佳方法是什么?

从我目前阅读的内容来看,这些示例构建了自己的应用程序,我只想做一些事情,比如在 Postman 中发送配置为 CORS 请求的请求。我该怎么做?

谢谢

【问题讨论】:

    标签: testing cors mule anypoint-studio crossdomain-request.js


    【解决方案1】:

    我想阻止应用程序接受 CORS 请求。 我只想做一些事情,比如在 Postman 中发送一个配置为 CORS 请求的请求

    您的意思是您只想阻止来自浏览器中运行的 Web 应用程序的跨域请求?

    鉴于浏览器是唯一强制执行 CORS 限制的工具,并且它们仅针对来自实际 Web 应用程序中运行的代码的请求执行此操作,而不针对来自 Postman 等不受同源策略约束的扩展程序的请求Web 应用程序是——那么您将无法使用 CORS 来阻止来自 Postman 的请求或来自浏览器中未从 Web 应用程序运行的代码的请求。

    应用程序已设置为执行此操作,但证明此操作有效的最佳方法是什么?

    确认服务没有发送Access-Control-Allow-Origin 响应标头——除非它被明确配置为这样做,或者它是使用某些默认添加Access-Control-Allow-Origin 的服务器端编程环境/框架构建的,否则它永远不会发送.

    但是,由于缺少Access-Control-Allow-Origin,浏览器是唯一真正阻止跨域请求的工具,因此您实际上只能在 Web 应用程序中测试阻止。

    否则,您至少可以在浏览器之外进行测试,以查看请求发送到的服务器返回的响应标头。在这种情况下要做的主要事情是确保请求发送Origin 标头(如果请求包含Origin 标头,某些服务器仅发送Access-Control-Allow-Origin - 因为浏览器是唯一自动发送Origin 的工具.

    因此,例如,使用curl,您会想要这样做:

    curl -H "Origin: https://example.com" https://service.to.test/
    

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 2017-10-28
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      相关资源
      最近更新 更多