我们正在内部网中集成两个系统,使用CORS作为跨两个域进行AJAX调用的方法。
这被认为是不好的做法吗? CORS一般被认为是不好的做法吗?
答案 0 :(得分:9)
CORS也不错。在所有主流浏览器上都是supported,越来越多的API支持它。实际上,如果您的公共资源不在防火墙后面,it is safe可以在资源上放置Access-Control-Allow-Origin: *
标头。
但是CORS在服务器上的作用存在一些混淆。 CORS应该只规定特定资源的跨域策略。换句话说,CORS标头仅用于指示是否允许来自不同来源的请求。我认为混乱是因为服务器有时也使用CORS来规定安全策略。 CORS不安全。如果服务器具有需要保护某些用户的资源,则仅依靠Origin标头来强制执行此操作是不安全的。您的服务器需要一些其他安全机制(例如OAuth2和CSRF保护)。
答案 1 :(得分:3)
不,CORS不被视为不良做法。这是进行跨域AJAX调用的标准方法(适用于支持它的浏览器)。请记住,目前,根据您的具体要求,可能会有很多陷阱使其跨浏览器工作。例如,如果您希望能够设置跨域cookie,请准备好使用Internet Explorer。
所以基本上,如果你能让CORS满足你的需求,那就继续使用吧。
答案 2 :(得分:0)
这是由CORS预检请求引起的一些延迟开销。更多here