检查cookie是否已过期,如果是,则注销用户

时间:2012-08-10 19:49:53

标签: jquery cookies

我注意到,当你在facebook上的“会话”已经过期时,会出现一个弹出窗口,表示你将被注销,我如何定期检查cookie是否已经过期? 我试过这个:

    setInterval(function() {
    if($.cookie('id') == null) {
        location.reload;
    }
},60000);

更新:抱歉,我注意到我没有说我想用ajax更新mysql查询的“状态”。这不是问题,但是如果我想这样做,我需要在cookie中设置ID,但是如果它已经过期我不能这样做:/,当用户登录时,我是否需要设置另一个具有长日期到期的cookie ?

1 个答案:

答案 0 :(得分:1)

仅使用Cookie来跟踪用户是否已登录存在安全风险。最好使用cookie /服务器端会话的组合。大多数框架/ CMS都使用这种结构。由于facebook经常与用户进行通信,因此每次进行AJAX调用时,都会在响应中查找指示无效会话的内容。

如果您正在使用会话,则需要与服务器保持某种持续的通信才能实现此目的。

var check = setInterval(function() {
    $.ajax( {
        url : '/authorize/ajax/',
        dataType: 'json',
        success : function(data) {
            if(data.unauthorized) 
                window.location.href="/login/";
            }
        }
    } );

},5000);