1

Facebookの「セッション」の有効期限が切れると、ログアウトすることを示すポップアップが表示されることに気付きました。Cookieの有効期限が切れているかどうかを定期的に確認するにはどうすればよいですか?私はこれで試しました:

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

更新:申し訳ありませんが、ajaxを使用したmysqlクエリで「ステータス」を更新したいとは言わなかったことに気づきました。それは問題ではありませんが、これを行うには、CookieにIDを設定する必要がありますが、有効期限が切れている場合はそれを行うことができません:/、ユーザーがログインしたときに有効期限の長い別のCookieを設定する必要がありますか?

4

1 に答える 1

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);
于 2012-08-10T19:56:00.310 に答える