我看到当 CORS 未启用时,我们无法通过另一个域向 Web 服务器发出直接 Web 请求。
然而,有多种方法可以破坏这种安全性(例如使用代理),并且这些调整非常有效。
最近我遇到了类似的问题,我想使用我不拥有的网络服务。他们还禁用了跨域请求,但我遵循了这篇article并使用它允许我使用该服务!
我们可以使用由某人开发和托管的服务供其个人域使用(通过禁用 CORS)。这不是严重的安全漏洞吗?
我们如何确保如果我在我的 REST 接口上禁用 CORS,没有人能够调整和使用它?
CORS 并不是为了阻止人们调用 API。
CORS 旨在防止人们附加可用于自动攻击服务的凭据。
如果我调用 google.com/secret-service,通常我的 google.com 身份验证 cookie 将自动附加,并且该服务将使用我的凭据调用。
如果我调用 proxy.com/secret-service,那么我的 google.com cookie 没有被附加。现在由应用程序来验证并证明它实际上被允许调用 google.com/secret-service。