我想允许客户端应用程序向中央数据服务器发出跨域JSON请求。客户端和服务器将位于不同的域中。
要解决“Access-Control-Allow-Origin不允许使用Origin null”。错误,我有服务器设置:
Access-Control-Allow-Origin: *
头。
我在这里(http://www.w3.org/wiki/CORS_Enabled)看到跨域只应用于“不需要基于cookie或基于会话的身份验证的公共数据”。
使用Access-Control-Allow-Origin:*标头时,使用基于会话/ cookie的身份验证是不安全的?如果不是为什么?
谢谢。
答案 0 :(得分:4)
CORS规则集Access-Control-Allow-Origin: *
不是完整的同源策略绕过,并且可能是安全的。
在每个页面上设置此标头允许unauthenticated resource-requests。这些请求不会隐式包含身份验证cookie,因此不能使用跨站点XHR来说明;阅读您的电子邮件,或阅读远程域上的CSRF令牌 - 因为这些请求需要cookie或承载令牌。