对于允许跨域访问的网站,如何跨域向其发送cookie实现自动登录?
1.创建一个与目标网站同源的HTML页面
2.在该页面上通过Ajax请求或iframe请求向目标网站发送请求
3.在请求中携带cookie信息
4.目标网站读取到请求中的cookie信息并实现自动登录
请注意,如果目标网站未启用CORS,则无法实现跨域发送cookie。
cookie是存储在客户端的,我们即使在后台NodeJs中设置了res.header("Access-Control-Allow-Origin","*");
也只能实现ajax跨域而无法实现ajax跨域的同时携带cookie一起过来。如何解决这一问题呢?
xhr.open('get',url,true);
//支持cookie跨域 3
xhr.withCredentials = true;
xhr.send(null);
server.use('*',function(req,res,next){
//支持cookie跨域 1
res.header("Access-Control-Allow-Origin",req.headers.origin);
//支持cookie跨域 2
res.header("Access-Control-Allow-Credentials",true);
res.header("Access-Control-Allow-Headers","Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
next();
})