2011-10-20 16 views
0

私はログイン作業のフラッシュを持っている>> PHP >> MYSQLと私が必要なすべてを行うことができます。as3独自のログインセッション

しかし、私は人が同じアカウントの下でログインし、物事をぶち壊すことができたという問題が提示されています。これは、誰かが何かを変える可能性があり、他の人が自分のデータを上書きしたり複製したりする可能性があるため、データの更新に関する問題を引き起こします。

私はPHPセッションにいくつかの言及を見ましたが、さらに詳しい情報が必要です。

MYSQLデータベースにUser | Pass | TimeStampがあるように、ログイン時にタイマーを設定しますか? ログイン後、タイムスタンプはNow()+ 15秒に調整され、10秒ごとにタイマーはタイムスタンプ(+ 15秒)を再度呼び出して更新します。したがって、ログイン時に人がログインしようとすると、ログインの時間は>次にタイムスタンプでなければなりませんか?

私は、現在ログインしているユーザーがフラッシュプログラムから離れると、ログインタイマーはもはや起動されないと思いますか?

これについて別の方法がありますか? 5分ごとに非アクティブなauto-loggoutを設定しますか?誰かがログインしようとすると、すべてのアクティブなブラウザにリクエストを送信して、ユーザー名/パスワードセッション(インスタンスIDを使用しています)が使用されているかどうかを確認します。

私が調べなければならないいくつかのコードや指示は、非常に高く評価されます。それのためにタイマーを使用していないが、各ユーザの対話で更新 -

JC

+0

PHPセッションクラスでこれを処理できます –

答えて

0

私はあなたのロジックを続行することができ示唆ほとんど変化して、(いくつかの間隔でデータベースを更新)。


あなたのIDLE_TIMEは10分です。

  • ユーザがいずれかのセクションをナビゲートするか、または を大幅に変更するたびに、ロギングタイムスタンプを更新します。
  • ユーザーがその時間に対話しない場合、彼はが追い出されてになります。

私は数年前のようなものを実装しましたが、PHPのみを使用しました。私のすべてのファイルの一番上に、IDLE_TIMEより大きい場合は、最後のインタラクションタイムスタンプと現在のタイムスタンプを比較します。

多くのユーザーがシステムを同時に使用している場合は、タイマーを使用するとデータベースに少し不必要で苦労することがあります。

+0

ありがとう、 これは機能しましたが、ユーザーが変更を加えるすべてのインスタンスに結び付けようとするのではなく、私は素晴らしい作品をバックグラウンドで20秒タイマーで行った。唯一のことは、自分のタイムスタンプが期限切れになるために20秒後に再ログインしようとするメッセージが表示されることです。 20〜50人がこの機能を使用しているため、サーバーに悪影響は見られませんでした。私はあなたのポイントを念頭に置いて、それがサーバ/データベースにもっと課金されていることに気がついたらそれを切り替えるかもしれません。 –

関連する問題