使用ajax自动刷新的页面上的会话超时

时间:2015-02-09 16:28:13

标签: php ajax timeout

美好的一天 - 温柔 - 我是第一次发布海报。

我在基于php的网站上有一个页面,它使用基于AJAX的调用来每5或10秒用一个数据表更新DIV标记。我工作的安全人员希望我确保用户在15分钟不活动后退出。 为此我放入了

<script type="text/javascript">
window.setTimeout("location=('/mysite/session_timeout.php');",900000);
</script>

问题是,当然,表格的AJAX刷新是“重置”&#39;超时计数器...... 所以我的问题基本上就是#34;有没有一种客户端的方法可以缓解ajax调用重置时钟,或者我需要用php的_SESSION数组来解决这个问题,并在那里隐藏值,或者有人有比这更好的东西吗?&#34;

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以存储该页面的开始时间并更新表格数据,而无需重新加载页面。并相应地检查开始时间和销毁会话。

答案 1 :(得分:-1)

您可以尝试这样的事情

$_SESSION['activity'] = time();

    function check_if_logged_in() {
        if(time() - $_SESSION['activity'] > 900) { 
            // Do redirect or take other action here
        }
    }

或者您可以使用this jQuery插件。