问题标签 [httponly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
79169 浏览

ajax - HttpOnly cookie 如何处理 AJAX 请求?

如果在基于 cookie 的访问限制的站点上使用 AJAX,则 JavaScript 需要访问 cookie。HttpOnly cookie 可以在 AJAX 网站上工作吗?

编辑:如果指定了 HttpOnly,Microsoft 通过禁止 JavaScript 访问 cookie 创建了一种防止 XSS 攻击的方法。FireFox 后来采用了这个。所以我的问题是:如果您在 StackOverflow 之类的网站上使用 AJAX,是否可以选择 Http-Only cookie?

编辑 2:问题 2。如果 HttpOnly 的目的是阻止 JavaScript 访问 cookie,并且您仍然可以通过 JavaScript 通过 XmlHttpRequest 对象检索 cookie,那么 HttpOnly 的意义何在?

编辑3:这是维基百科的引述:

当浏览器接收到这样一个 cookie 时,它​​应该像往常一样在以下 HTTP 交换中使用它,但不让它对客户端脚本可见。 [32] 该HttpOnly标志不是任何标准的一部分,也不是在所有浏览器中都实现。请注意,目前无法阻止通过 XMLHTTPRequest 读取或写入会话 cookie。[33]。

我知道document.cookie当您使用 HttpOnly 时会被阻止。但似乎您仍然可以读取 XMLHttpRequest 对象中的 cookie 值,从而允许 XSS。HttpOnly 是如何让你变得更安全的呢?通过使cookie基本上只读?

在您的示例中,我无法写入document.cookie您的 cookie,但我仍然可以窃取您的 cookie 并使用 XMLHttpRequest 对象将其发布到我的域。

编辑 4:抱歉,我的意思是您可以将 XMLHttpRequest 发送到 StackOverflow 域,然后将 getAllResponseHeaders() 的结果保存到字符串,正则表达式输出 cookie,然后将其发布到外部域。似乎维基百科和黑客在这一点上同意我的观点,但我希望接受再教育......

最终编辑:啊,显然两个站点都是错误的,这实际上是FireFox 中的一个错误。IE6 & 7 实际上是目前唯一完全支持 HttpOnly 的浏览器。

重申我学到的一切:

  • HttpOnly 限制对 IE7 & 和 FireFox 中的 document.cookie 的所有访问(不确定其他浏览器)
  • HttpOnly 从 IE7 中 XMLHttpObject.getAllResponseHeaders() 的响应标头中删除 cookie 信息。
  • XMLHttpObjects 只能提交到它们起源的域,因此不会跨域发布 cookie。

编辑:此信息可能不再是最新的。

0 投票
10 回答
181198 浏览

java - 如何在 tomcat/java webapps 中配置 HttpOnly cookie?

在阅读了 Jeff 关于保护您的 Cookie:HttpOnly的博文后。我想在我的 Web 应用程序中实现 HttpOnly cookie。

你如何告诉 tomcat 只使用 http cookie 进行会话?

0 投票
4 回答
118640 浏览

asp.net - 您究竟如何在 ASP.NET 中配置 httpOnlyCookies?

受这篇 CodingHorror 文章“保护您的 Cookie:HttpOnly ”的启发

你如何设置这个属性?在网络配置的某个地方?

0 投票
11 回答
129269 浏览

php - 你如何在 PHP 中设置使用 HttpOnly cookie

如何在我的PHP appsas中设置 cookie HttpOnly cookies

0 投票
6 回答
33053 浏览

security - 在 ASP Classic 中究竟如何配置 httpOnly Cookie?

我希望在我的旧版 ASP 经典站点中实现 httpOnly。有谁知道该怎么做?

0 投票
3 回答
1510 浏览

ruby-on-rails - 如何在 Rails 2.1 中的会话 cookie 上设置 HttpOnly?

我注意到 Rails 2.2(当前为 edge)支持在 session cookie 上设置 HttpOnly

有没有办法在 Rails 2.1 应用程序上设置它而不移动到 edge/2.2?

0 投票
4 回答
4521 浏览

.net - 与 Java 小程序共享 ASP.NET 会话 cookie

我有一个在经过表单验证的 aspx 页面内运行的 Java 小程序。在我的站点的 .NET 1.1 版本中,小程序可以访问会话 cookie 并能够从服务器检索文件,但在 .NET 2.0 版本中,它无法进行身份验证。

我在其他地方看到过一些论坛帖子,其中指出 2.0 默认情况下将 cookie 设置为 HttpOnly,但到目前为止,给出的解决方案对我没有用。我还在某处读到 2.0 可能基于用户代理进行区分。

有没有人对此有任何经验或见解?

0 投票
5 回答
26143 浏览

security - 哪些浏览器支持 HttpOnly cookie?

哪些浏览器支持 HttpOnly cookie,从哪个版本开始?

有关 HttpOnly cookie 和 XSS 预防的讨论,请参阅http://www.codinghorror.com/blog/archives/001167.html 。

0 投票
1 回答
146 浏览

cookies - 有没有办法在 Pylons 中将 cookie 标记为 HttpOnly?

我在网上找不到任何有关如何执行此操作的文档。我认为它可能可以发送某种自定义 HTTP 标头响应,但如果有更规范的方式,这样做似乎有点蹩脚。

0 投票
3 回答
4149 浏览

cookies - 使用 JRun/ColdFusion 强制使用 HttpOnly cookie

我们需要确保 CF7 站点上的所有 cookie 都设置为 HttpOnly。

我们使用 jsessionid 来控制我们的会话,而 JRun 不会将其创建为 HttpOnly。

虽然可以修改现有 cookie 以添加此设置,但我们需要从一开始就将其设置为 HttpOnly。

有什么建议么?


相关问题:为 HTTPS cookie 设置安全标志。