跨域发送cookie

对于允许跨域访问的网站,如何跨域向其发送cookie实现自动登录?

1.创建一个与目标网站同源的HTML页面
2.在该页面上通过Ajax请求或iframe请求向目标网站发送请求
3.在请求中携带cookie信息
4.目标网站读取到请求中的cookie信息并实现自动登录

请注意,如果目标网站未启用CORS,则无法实现跨域发送cookie。

  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:Cookie跨域问题的解决
  • 除此之外, 这篇博客: cookie实现记住密码和自动登录的功能中的 3.补充:cookie跨域的解决 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • cookie是存储在客户端的,我们即使在后台NodeJs中设置了
    res.header("Access-Control-Allow-Origin","*");也只能实现ajax跨域而无法实现ajax跨域的同时携带cookie一起过来。如何解决这一问题呢?

    • 前端JS写ajax请求时
        xhr.open('get',url,true);
        //支持cookie跨域 3
        xhr.withCredentials = true;
        xhr.send(null);
    • NodeJs中
    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();
    })