首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置跨域cookie?(CORS)

如何设置跨域cookie?(CORS)
EN

Stack Overflow用户
提问于 2019-04-11 05:51:32
回答 1查看 56关注 0票数 1

我的曲奇没有放好。我已经尝试了不同头部中间件的所有可能的变体,但是我不能让它工作。我是一个比较新的人,所以如果你认为我不理解一些关键的概念,请解释一下!

前端部分:

代码语言:javascript
复制
window.onload = function(){
  const Http = new XMLHttpRequest;
  const url = "http://localhost:5001/";
  Http.open("GET",url,true);
  Http.withCredentials = true;
  Http.setRequestHeader('Content-type','text/plain');
  Http.send();
}

server side: 

app.get("/",stuff);

function stuff(req,res) {
    res.cookie("ss","ss");
    console.log("stuff");
    res.header("Access-Control-Allow-Origin", "http://127.0.0.1:5500");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    res.header("Access-Control-Allow-Credentials", "true");
    res.send();
}

一开始我遇到了CORS的问题,但现在我已经设法摆脱了那个错误,我仍然不能让它来保存cookie。我已经设法保存了来自发出请求的域的cookie,但不是保存在我的HTML+CSS+JS所在的这个文件上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-11 09:37:53

遗憾的是,即使来源位于相同的主机名但不同的租用端口上,也无法设置跨源cookie。这存在一个安全缺陷,允许站点为其他域设置跟踪cookies。话虽如此,这里有一些可能的解决方法:

设置cookies:

这可以通过用JSON响应http-request来告诉前端设置cookie来实现。

获取cookies:

您可以通过将document.cookie变量作为FormData传递给您的后端并在那里解析它来完成此操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55621819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档