我读了https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS,我想知道应该保护什么或者谁。例如,如果您在没有安全限制的模式下启动Chrome,则无需预检即可调用其他域上的所有API。这意味着一个顽皮的家伙可以很容易地解决这个问题。我没有看到这应该如何保护服务器应用程序的所有者,这样的应用程序的所有者可以拥有身份验证来保护其站点。那么受保护的场景是什么?
答案 0 :(得分:1)
服务的所有者不受保护,而是用户。
如果您作为用户登录到应用程序A而没有CORS保护,则应用程序B可以代表用户在应用程序A上发出请求。
这对用户及其数据非常危险。
答案 1 :(得分:0)
如果 example.com
中的脚本向 somebank.com
发送请求并且用户登录到 somebank.com
,它可以检索用户的财务信息。由于脚本在 example.com
的控制之下,因此它可以将该信息传输回其所有者。
这当然引出了一个问题,为什么要完全禁止请求,而不是在没有会话 ID/cookie 的情况下发出请求。无论如何,这可以在服务器端完成。