如果一个PHP会话在30分钟后过期而没有关闭浏览器


Should a PHP session expire after 30 minutes without closing the browser?

我有一个评论系统,用户可以选择'报告'评论。

当单击report时,注释被简单地添加到DB表中。

设置会话成功,以阻止任何垃圾邮件。

这样做的目的是只允许用户每24分钟报告一次评论。

我的问题是,会话应该自己过期而不需要关闭浏览器吗?

当前会话一直存在,除非浏览器关闭。

我检查了phpinfo(),生存期设置为正常的1440。

或者我是否必须将会话的值设置为当前时间,然后在报告注释时根据当前时间检查会话的值?

谢谢!

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) {
    // last request was more than 30 minutes ago
    session_unset();     // unset $_SESSION variable for the run-time 
    session_destroy();   // destroy session data in storage
}
$_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp

这将清除会话