我们正在将两个系统集成到一个Intranet中,使用CORS作为在两个域之间进行AJAX调用的一种方式。
这被认为是不良做法吗?一般认为CORS是不良做法吗?
CORS不是坏习惯。它支持所有主要的浏览器,而且越来越多的API都支持它。实际上,如果您的公共资源不在防火墙后面,则可以将Access- Control-Allow-Origin: *标头放在资源上是安全的。
Access- Control-Allow-Origin: *
但是,对于服务器上CORS的角色有些困惑。CORS应该仅指示特定资源的跨域策略。换句话说,CORS标头仅用于指示是否允许来自不同来源的请求。我认为之所以会造成混乱,是因为服务器有时也会使用CORS来指示安全策略。CORS不是安全的。如果服务器的资源需要保护,以防某些用户使用,则仅依靠Origin头来强制执行此操作是不安全的。您的服务器需要其他一些安全机制(例如OAuth2和CSRF保护)。