繁体   English   中英

当使用Dancer :: Session :: Cookie在Dancer(Perl)中空闲时如何销毁cookie?

[英]How to destroy cookies when idle in Dancer (Perl) using Dancer::Session::Cookie?

在闲置一定时间后,是否有内置方法可以销毁Dancer::Session::Cookie生成的会话cookie? 我注意到当我重新启动Nginx或Starman服务器时,它甚至都没有破坏会话,这不是我想要的(出于安全原因)。

如果没有内置的方式,那么在SQL数据库中存储会话的上次活动时间并在每次操作后对其进行更新是否有天生的错误? 然后,如果超过15分钟左右而又没有更新该条目,则会话cookie将被销毁(使用session-> destroy)。 这似乎不是最好的解决方案,但这也许是唯一的方法。 根据我的理解,您还可以在HTTP标头中手动设置cookie过期时间,但这只会破坏客户端的cookie,对吗?

我想你想做相反的事情。

生成Cookie时,请使用expires属性将其设置为“ 15分钟”:

https://metacpan.org/pod/Dancer::Cookie#expires

然后,每次为该会话执行操作时,请调用Dancer :: Cookie init方法:

https://metacpan.org/pod/Dancer::Cookie#init

...刷新cookie(如果您未使用默认路径,请输入该路径)。

在给定的时间之后,用户的浏览器应为您终止Cookie。

(我实际上并没有尝试过,但是代码暗示它应该可以工作-init方法的文档肯定会更清楚)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM