我有一种情况,我需要在创建会话时创建cookie,并且当会话被删除时我必须删除cookie。当用户手动结束会话时,我可以删除注销servlet的doGet方法中的cookie。但是当会话超时时我无法做到这一点,所以我打算为此起诉HttpSessionListener,但我已经看到了一些我们无法做到的地方。除了提到here之外,还有其他方法。
答案 0 :(得分:0)
当您不访问用户时,真的想如何删除cookie?!?!
唯一的解决方案是将Cookie实时设置为Cookie会话的确切时间(默认为1小时)
对于每个请求,您需要使用更新的时间(current_timestamp+'1 hour'
)设置Cookie,它会告诉浏览器将Cookie保留一小时。
除了cookie之外,您需要检查cookie和会话的完整性,只需跟踪会话中的cookie完整性(可能是哈希),当用户试图通过提供cookie A来欺骗您的服务器时它会帮助您来自用户A的会话用户B.