单击注销按钮时,我想在浏览器中注销我的 Web 应用程序。并且只想用 js 代码实现它。所以,没有注销 servlet。这意味着,我需要删除现在使用并存储在浏览器内存中的 sessionid,但我该怎么做呢?
问问题
12470 次
1 回答
10
出于安全原因,您所有的会话 cookie 都应该是 httpOnly。这将确保 cookie 无法在 javascript 中访问,并会降低 XSS 附加的风险。这也意味着不能只在客户端清除 cookie。
当用户单击注销时,您可能有兴趣清除服务器端资源。至少为此,您应该访问服务器。
综上所述。我建议您对您的 servlet 进行 AJAX 调用,这可以清除您的 cookie 并释放为该会话分配的服务器端资源。
如果您仍然不相信并且必须使用 javascript 清除 cookie,请参阅 SO question delete cookies using javascript
于 2012-04-26T06:28:25.953 回答