1

私は、主に AJAX と Javascript を使用したモバイル ベースの Web アプリケーションに取り組んでいます。メイン ページにアクセスするには、ログイン ページからメイン ページにポスト経由でデータが送信され、そこで mySQL クエリでチェックされます。ログインに問題がある場合は、ログイン ページに戻ります。それ以外の場合は、メイン ページに進みます。ユーザーにしきい値を超えて再認証を強制するタイムアウトを実装する最良の方法を見つけようとしています。

すべてが jQuery と AJAX を介してメイン ページから制御されるため、どの時点でも main.html から離れません。私の問題は、モバイル ブラウザが最小化または閉じられた状態をどのように処理するかということです。たとえば、Android デバイスで Chrome を使用していて、Web アプリにログインしています。いくつかのアクションを実行してから、ブラウザーを最小化して、携帯電話で他のことを行います。3 時間後、タブをページに残したまま Chrome を開き、ページで以前行っていたことを続けます。それを傍受して、その後ログインページに強制的に戻すにはどうすればよいですか? ログイン時間をCookieに保存し、関数が呼び出されるたびにチェックを実行することを考えていましたが、それはあまりエレガントではないようです.

4

2 に答える 2

0

Cookie はいつでも変更できます。

PHP を使用している場合、これは非常に単純なはずです。最後に実行されたアクションを追跡するだけです。

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

次に、サーバーへの Ajax リクエストがある場合は、その値を確認します。あまりにも前の場合は、ユーザーに再度ログインを強制します (そのため、ログイン画面を再度表示する必要があることを示す値が応答で返されます)。

セッションがどのように機能し、どのように機能するかなどを想定していますstart_session()

差し支えなければ、セッションに有効期限を設定することもできますが、信頼できない可能性があります

于 2013-05-03T15:41:32.223 に答える