0

フラッシュ>> PHP>> MYSQLでログインでき、必要なことはすべて実行できます。

しかし、ある人が同じアカウントでログインし、いじり始めるという問題が発生しました。これにより、誰かが何かを変更したり、他の人がデータを上書きしたり複製したりする可能性があるため、データの更新に問題が生じます。

PHPセッションへの言及を見たことがありますが、さらに情報が必要です。

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

現在ログインしているユーザーがフラッシュプログラムから離れた場合、ログインタイマーがトリガーされなくなると思いますか??

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

私が調べるべきコードや指示をいただければ幸いです。

jc

4

1 に答える 1

0

少し変更を加えて、ロジックを続行することをお勧めします(タイマーを使用せずに、ユーザーの操作ごとに更新します)。


IDLE_TIMEが10分だとします。

  • ユーザーがセクション内を移動したり、重要な変更を加えたりするたびに、ログのタイムスタンプを更新します。
  • ユーザーがその時間対話しない場合、彼は追い出されます;

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

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

于 2011-10-31T18:57:35.457 に答える