0

jQuery Mobile サイトを持っています

  • ログインページ、プロフィールページ、プロフィール編集ページがあります。
  • ユーザーはログインして他のページにアクセスできます。
  • ログイン状態を 30 分間保持する Cookie を使用してセッションを維持しています。ユーザーがログイン以外のページにいる場合、ユーザーはログアウト ボタンをクリックしてログアウトできます。ログアウトすると、Cookie は削除され、ユーザーはログイン ページにリダイレクトされます。
  • ユーザーがログアウトして戻るボタンを押すと、ユーザーは既にログアウトしているため、承認されていない前のページに移動します。

ユーザーが許可されていないバックページに移動するのを止める方法はありますか?

4

3 に答える 3

2

ユーザーがログインしているかどうかを確認し、ログインしていない場合はリダイレクトするために、すべてのページの上部にサーバー側のコードを配置する必要があります。ログアウト後も戻るボタンが機能する場合は、ブラウザがページのキャッシュされたバージョンを表示していることを意味します (おそらく、ユーザーはそこから先に移動することはできません)。

于 2013-01-28T14:10:17.390 に答える
0

皆さんの貢献に感謝します.許可されていないページへの戻るナビゲーションを処理するのに役立つ別の方法を見つけました.これを皆さんと共有したいと思います.setInterval関数を使用して、セッションの可用性を毎秒知ることができました.以下は私のものです.コメント付きのコード。

var userDetails = getUser( );//get the user details from cookie
if(userDetails != null) // if user session exhists
{
if(userDetails.remember == 0){
var IDLE_TIMEOUT = 30 * 60; // set 30 minutes inactive timeout 
var _idleSecondsCounter = 0; // counter to count seconds starts from 0

//extend the session timeout by extending the cookie expiry by 30 minutes if the user is active and set the counter to zero
document.onclick = function() {
        updateCookie();
    _idleSecondsCounter = 0;
};
document.onmousemove = function() {
    updateCookie();
    _idleSecondsCounter = 0;
};
document.onkeypress = function() {
    updateCookie();
    _idleSecondsCounter = 0;
};

//function to check the idle time and 
function CheckIdleTime() {
    _idleSecondsCounter++;
    var curPage = $('.ui-page-active').attr('id');

    if (_idleSecondsCounter >= IDLE_TIMEOUT && curPage != "login")
    {
            delcookie(); //once session timeout occurs delete the cookie
            alert("Session Timeout");
            $.mobile.changePage( "#login", { transition: "slideup", changeHash: true });
    }
}
window.setInterval(CheckIdleTime, 1000);//check idle time every second
}
}else// if user session does not exhists
{
    $.mobile.changePage( "#login", { transition: "slideup", changeHash: true });
}
于 2013-05-16T10:28:52.343 に答える
0

次の簡単なスクリプトを試してください。

http://viralpatel.net/blogs/disable-back-button-browser-javascript/

戻ろうとすると、現在のページが再読み込みされます。

于 2013-01-28T14:05:45.907 に答える