app.UseCors 对哪个安全上下文有用
Posted
技术标签:
【中文标题】app.UseCors 对哪个安全上下文有用【英文标题】:app.UseCors is useful for which security context 【发布时间】:2018-05-06 16:02:30 【问题描述】:在 Web API 中,在 Owin Startup
文件中启用 Cors,如下所示:
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
我明白了,它用于以下两种证券,是否正确理解?
1) 允许来自 WEB API 的其他域 web api 请求? (从 web api 发出请求)
2) 接受来自其他域对此 Web API 的 javascript 请求? (请求传入 web api)
我想确保 API 的安全上下文。
【问题讨论】:
定义传入API调用的安全级别。是否允许其他来源。 【参考方案1】:CORS 表示跨域资源共享。这是当另一个origin 请求当前源并且该源可以接受该请求并给出响应时。您可以允许某些来源与您的来源一起使用,而出于安全原因,其他来源则不允许这样做。
您提到的第二种情况与CORS
的含义无关。
来自Wikipedia
CORS 定义了一种浏览器和服务器可以交互的方式 判断允许跨域请求是否安全
第一种情况是正确的,第二种情况呢?它不仅可以是Javascript请求,还可以是来自另一个服务器或web api的请求,它有另一个来源
【讨论】:
好的,所以,第二点,WEB API 接受来自任何客户端(具有不同的来源/域)的请求,它需要在主 WEB API 中启用 cors(客户端正在请求) ?这是正确的吗 ?因为我的 API 将被不同的源 API 使用,它应该接受请求。 @user3711357 是的,CORS 是从服务器端启用的。这是为了服务器安全。 好的。有道理。谢谢。需要在 web api 中启用 cors,因为它将从 corss 源场景中请求。以上是关于app.UseCors 对哪个安全上下文有用的主要内容,如果未能解决你的问题,请参考以下文章
CopyOnWriteArraySet 何时对实现线程安全的 HashSet 有用?