当前位置: 首页 > 知识库问答 >
问题:

为什么在使用SetRequestHeader制作xmlhttprequest时不能设置cookie和set-cookie头?

蔚楷
2023-03-14
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.withCredentials = true;
xhr.setRequestHeader('Cookie', "key=value");
xhr.send(null);

这里,我需要将cookie-header设置为node.js的XMLHttpRequest不显式地添加cookie-header(像浏览器那样)。尝试这样做时,XMLHttpRequest会给出错误“拒绝设置不安全头”。

虽然我已经找到了一个补丁,并成功地发送了cookie-header。但想知道为什么设置cookie-header被禁用了?我曾经读过,发现它是数据完整性和安全性所必需的,但在这种情况下,什么安全性可以被破坏,没有提到哪里。我想评估一下,如果我使用补丁,这个数据完整性问题对Node.js应用程序是否有效。

共有1个答案

荆树
2023-03-14

我相信你会看过工作草案并发现

上述报头由用户代理控制,以使其能够控制传输的这些方面。

首先,我们需要了解,这些标准是作为不同浏览器之间功能互操作性的指导方针而工作的。它不是针对浏览器的,因此浏览器出于不同的原因对该标准有不同的遵守程度。

 类似资料:
  • 问题内容: 我想知道为什么不能使用setRequestHeader 设置 cookie 标头。是否有任何特定原因,或者只是它们是由浏览器本身添加的,所以这些标头被禁用了?有安全性问题吗? - 编辑 我正在使用node.js并使用了该模块。以下是测试代码: 在这里,我需要将cookie-header设置为不显式添加cookie- header(就像浏览器那样)。尝试这样做时,显示错误“ ”。 虽然我

  • 问题内容: 我正在尝试使用XMLHttpRequest在XSS请求中设置Cookie。 我找到了XMLHttpRequest规范,并且4.6.2-5节似乎确实建议不允许设置Cookie,Cookie2和其他一些标头,但我希望可以解决这一问题。 我的(jQuery)代码如下,但是由于未设置cookie,导致查询失败。 问题答案: 可以做到的。$ .ajax调用中需要以下内容: (请参阅jQuery文

  • 所述Set-CookieHTTP 响应报头被用于从服务器向用户代理发送 cookie。 有关更多信息,请参阅 HTTP cookie 指南。 Header type Response header Forbidden header name no 句法 Set-Cookie: <cookie-name>=<cookie-value> Set-Cookie: <cookie-name>=<cooki

  • 问题内容: 我试图根据我在HTML中选择的CSS文件来设置Cookie。我有一个带有选项列表的表单,以及不同的CSS文件作为值。当我选择一个文件时,应将其保存到Cookie大约一周。下次打开HTML文件时,它应该是您选择的上一个文件。 JavaScript代码: HTML代码: 问题答案: 我发现以下代码比其他任何代码都简单得多: 现在,调用函数

  • 问题内容: 我一直在使用expressjs和mongostore进行会话管理。以下是在expressjs中配置存储的代码, 我在上面的代码中提到了cookie路径。但是它将cookie设置在sub.domain.com而不是.domain.com中。我该如何实现? 问题答案: 像这样配置它:

  • 我正在Laravel应用程序中为Cors使用中间件。 我的文件如下所示: 我设置cookie作为回应,如下所示: 最后,我从运行在 它给我一个错误,说不允许CORS(经典CORS错误)。 但是当我从响应中删除cookie时,它就可以正常工作了。 我还需要什么设置才能让它工作?