我们在web.xml文件中设置参数httpOnly
为true,以防止在客户端创建cookie。
这导致读取cookie值。我们使用以下方式读取GWT中的JSESSIONID cookie。
Cookie.getCookie("JSESSIONID");
这返回undefined。如果我删除了web.xml中的属性Httponly=true
,它的工作正常并返回一个cookie。
任何请建议一种方法来获取带有HttpOnly的cookie的JSESSIONID cookie。
答案 0 :(得分:2)
HttpOnly
不是您认为的那样。它的唯一目的是告诉浏览器专门不将cookie暴露给脚本,并且只在HTTP级别使用它。
没有什么可以阻止客户伪造cookie。有几种方法可以通过所谓的会话固定攻击来防止跨站点请求伪造(CSRF),但HttpOnly
不是其中之一。 HttpOnly
有助于跨站点脚本(XSS),因此如果页面包含恶意的第三方脚本,则无法读取cookie以将其发送到第三方服务器 - 可能以后将其用于会话固定攻击,但只有当您的网站容易受到攻击时才有可能 -