【发布时间】:2013-02-18 08:16:26
【问题描述】:
我想知道为什么不能使用 setRequestHeader 设置 cookie 标头。是否有任何特定原因,或者仅仅是浏览器本身添加了它们,所以这些标头被禁用了?有什么安全问题吗?
--编辑
我正在研究 node.js 并使用了 xmlhttprequest 模块。以下是测试代码:
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 给出错误“Refused to set unsafe header”。
虽然我找到了一个补丁并且能够成功发送 cookie-header。但是想知道为什么禁用设置 cookie-header ?无论我在哪里阅读,都发现它是数据完整性和安全性所必需的,但是在这种情况下可以破坏哪些安全性,却没有提到任何地方。我想评估这个数据完整性问题是否也适用于 node.js 应用程序,如果我使用我的补丁。
【问题讨论】:
-
你能贴出让你这么想的代码吗?还是只是规范文件...
-
@user395072 请查看已编辑的问题
标签: javascript html node.js cookies xmlhttprequest