1

チュートリアルをどこで読むことができるか、警告が組み込まれたJavascriptベースのセッションタイムアウトを作成する方法、およびオプションでこれらの機能を知っている人はいますか?

  • ユーザー アクティビティはタイマーをリセットします
  • データベースとやり取りします(最後に見たものなど)
  • 非アクティブの場合、(logout.php ページにリダイレクトすることにより) ユーザーをログアウトします。
  • ユーザーをログアウトする前に、続行するかどうかを尋ねるポップアップ メッセージが表示されます。

残念ながら、私は Javascript についてあまり詳しくありません。

4

2 に答える 2

6

あなたのウェブサイトがどのように行われているかはわかりませんが、正しく行われている場合は、ログイン セッションと、前のアクションが X 分/時間前に行われた場合にすべてのアクションを拒否し、自動的に有効期限が切れる何らかのバックエンド制御システムが必要です。ユーザー。クライアント側のコードを実装する場合は、有効期限が近づいたときにユーザーに警告する JavaScript タイマーが必要です。有効期限に達した後、ユーザーをホームページまたはログイン ページにリダイレクトすることもできます。このように、すべてのセキュリティ機能はバックエンドにあり、JavaScript は表示動作の表示手段としてのみ機能します。

アップデート:

setInterval(function(){alert("Hey, your session is ending")},360000);

setInterval(function(){
    redirect();
},720000);

function redirect(){
    document.location = "../logout.php"
}

更新 2:

setInterval(function(){
    logout();
},600000);

function logout(){
    if(confirm('Logout?'))
        redirect();
    else
        alert('OK! keeping you logged in')
}

function redirect(){
    document.location = "../logout.php"
}

このコードを含むすべてのページは、ユーザーがログアウトするかどうかを 10 分後に尋ねます。これは、セッションがそれ自体で期限切れにならないことを意味します。制御をユーザーに任せる必要があります。

于 2012-07-18T10:44:17.150 に答える
0

5分後にセッションログアウト

<script type="text/javascript">
        var interval;
         $(document).on('mousemove', function () {
             clearInterval(interval);
             var coutdown = 5 * 60, $timer = $('.timer'); // After 5 minutes session expired  (mouse button click code)
             $timer.text(coutdown);
             interval = setInterval(function () {
                 $timer.text(--coutdown);

                 if (coutdown === 0) {

                     alert("Session expired. User successfully logged out.");
                     window.location = "UserLogin.php";
                 }

             }, 1000);
         }).mousemove();

         var interval;
                     $(document).on('keydown', function () {
             clearInterval(interval);
             var coutdown =5 * 60, $timer = $('.timer'); // After 5 minutes session expired (keyboard button press code)
             $timer.text(coutdown);
             interval = setInterval(function () {
                 $timer.text(--coutdown);

                 if (coutdown === 0) {

                     alert("Session expired User successfully logout.");
                     window.location = "UserLogin.php";
                 }

             }, 1000);
         }).mousemove();
    <script>



         <html>
            <div class="timer">
                 Time of session display on page 
            </div>
        </html>
于 2019-09-17T09:40:00.667 に答える