【发布时间】:2018-02-28 03:21:24
【问题描述】:
我已经创建了一个如下的 WebAPI 控制器
[EnableCors("http://localhost:1234", "*", "*"]
public class DummyController : ApiController
{
public string GetDummy()
{
return "Iam not DUMMY";
}
}
当我使用托管在locahost:5678 上的应用程序中的 ajax 访问服务时,它会抛出错误,因为它是不允许的,但是当我从像 PostMan 这样的 restclient 访问相同的 API 时,它会返回数据。
问题
1) CORS 只限制 ajax 请求而不是普通的 HTTP 请求,因为我相信邮递员会发送普通的 http 请求。
2) EnableCors 如何限制提供的来源?考虑如果我修改 ajax 请求中的 origin and referrer 参数,我可以获取这些值。 CORS 使用什么策略来识别引荐来源网址。
由于 W3C 声明 HttpReferrer 可以轻松修改,因此不应依赖其值来授权访问。如果是这样的话,EnableCors 会在后面签入以授权来源。
我也可以在 ajax 请求中更改我的来源。请帮我解决这个问题我很困惑
【问题讨论】:
标签: asp.net ajax http asp.net-web-api cors