java - 删除 HttpSessionListener 中的 Cookie

标签 java session servlets cookies

我有这样一种情况,我需要在创建 session 时创建一个 cookie,而当 session 被删除时,我必须删除该 cookie。当用户手动结束 session 时,我可以在注销 servlet 的 doGet 方法中删除 cookie。但是当 session 超时时,我无法做到这一点,所以我打算为此起诉 HttpSessionListener,但我看到了一些我们不能这样做的地方。除了提到的方法之外还有其他方法吗 here .

最佳答案

当您不访问用户时,真的要如何删除 cookie?!?!

唯一的解决方案是将 cookie 实时时间设置为您的 cookie session 的确切时间(默认为 1 小时)

对于每个请求,您需要为 cookie 设置更新时间(current_timestamp+'1 hour'),它会告诉浏览器在接下来的 1 小时内保留 cookie。

除了 cookie 之外,您还需要检查 cookie 和 session 的完整性,只需跟踪 cookie 与 session 的完整性(可能是哈希),当用户试图通过提供 cookie A 来欺骗您的服务器时,它会帮助您来自 session 用户 B 的用户 A。

关于java - 删除 HttpSessionListener 中的 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31814865/

相关文章:

java - 我应该如何将 OSGi 控制台实现到 Bundle 中?

node.js - req.session.passport 和 req.user 为空,从不调用 serializeUser 和 deserializeUser

php - 我应该如何在 PHP 的多个域之间安全地传输变量/参数?

java - 下载文件时文件名中的","

servlets - 如何修复500内部服务器错误/Servlet错误

java - SQL Server JDBC 驱动程序无法快速检测丢失的连接

java - 如何使用 Java/Swing 旋转图像,然后将其原点设置为 0,0?

java - 从一系列用户输入中分割字符串

php - 关于执行 MySQL 查询与使用 SESSION 变量的想法?

xml - 为什么在使用 "ant"命令 build.xml 时出现导入错误?