有没有一种内置的方法可以在Dancer::Session::Cookie空闲一段时间后销毁它生成的会话cookie?我注意到,当我重启Nginx或Starman服务器时,它甚至不会破坏会话,这不是我想要的(出于安全原因)。
如果没有内置的方法,那么在SQL数据库中存储上一次会话的活动时间并在每次操作后更新它是否存在固有的错误?然后,如果超过15分钟没有更新该条目,会话cookie将被销毁(使用session->destroy)。这似乎不是最好的解决方案,但也许这是唯一的方法。据我所知,您也可以在HTTP头中手动设置cookie过期时间,但这只会破坏客户端的cookie,对吗?
发布于 2014-09-23 10:46:30
我认为你想做相反的事情。
在生成cookie时,使用expires属性将其设置为"15分钟“:
https://metacpan.org/pod/Dancer::Cookie#expires
然后,每次对该会话执行某些操作时,调用Dancer::Cookie init方法:
https://metacpan.org/pod/Dancer::Cookie#init
..。刷新cookie (如果您没有使用默认路径,则传入路径)。
用户的浏览器应在给定时间后为您使cookie过期。
(我还没有实际尝试过,但是代码暗示它应该可以工作- init方法的文档当然可以更清楚)
https://stackoverflow.com/questions/25982657
复制相似问题