【发布时间】:2019-12-04 08:07:53
【问题描述】:
背景:
- 我的服务器域是www.good.com,并且没有启用CORS
- 'test' 控制器下有一个 API,动作名称 'hello'(GET 方法),所以端点是 www.good.com/ api/test/你好
- 有一个模拟恶意网络调用 www.bad.com
场景:
- www.bad.com 向 www.good.com/api/test/hello 发送请求
- 虽然坏网站在浏览器上看不到响应,但是 'hello' 操作已执行,并返回完整响应。
我的问题是:
如果不允许使用 CORS,为什么 .NET Core 框架仍然让请求进入我的操作并产生结果?如果不允许 CORS 的目的是为了防止跨站请求,那为什么不直接在进入控制器/动作之前阻塞请求,这样我们就可以节省服务器上的资源/性能呢? (因为不是我们需要处理的请求)
1234563这可能是我的操作返回的敏感数据。然后 CORS 什么都没有保护,这对我来说很奇怪。
【问题讨论】:
-
CORS 是一种客户端(例如浏览器)保护。
标签: c# asp.net-core cors asp.net-core-webapi