我已经阅读了OWASP 信息以及一系列文章,包括 Jeff Atwood 的保护您的 Cookie文章,但我仍然觉得我需要更好地理解 HttpOnly cookie。
这是因为我需要向网站添加一些Google Adword 跟踪代码。这个 javascript 需要设置和读取网站域上的 cookie,我认为这是一个问题。该网站是 web.config 中的 .Net 应用程序httpOnlyCookies="true"
,因此我认为最好的方法是替换 javascript 并从后端写入 cookie,以确保生成的 cookie 是 HttpOnly。然后我也可以轻松地在服务器端读取 cookie。
我了解设置 cookie 属性的 HttpOnly 很大程度上可以防止 cookie 被客户端读取和操作。但我不明白的是:
- 鉴于上面的例子,我使用 javascript 实现会有问题吗?
- 使用javascript编写cookie仍然可以吗(但仍然使用服务器端读取它)?我不认为 cookie 不是 HttpOnly cookie
- 如果我做了正确的事情(将所有内容移至服务器端实现),为什么 Google Analytic cookie 总是作为非 HttpOnly cookie 实现?他们肯定也构成安全问题吗?
所以正如标题所说,我想我要问的是 - 什么时候(如果有的话)在你的域上使用非 HttpOnly cookie 是合适的?