[PHP-users 28657] Re: 同時アクセスがあった場合のエラー処理

"根も葉もない.com [ "根も葉もない.com [
2006年 3月 8日 (水) 19:23:36 JST


大和です。

うまくいくかどうかわかりませんが、
予めID名でのファイルを用意しておき、
ログイン時にロックをかけます。
とりあえずはこれでロック中はログインができない
処理が可能となります。
次に、ブラウザを閉じたときにロックを解除仕組みを作ります。
PHP5ではデストラクタという終了時やなんらかのエラーが発生した
場合にイベントを開始させることができる仕組みがありますが、
PHP4ではないのでPEARでの擬似的なデストラクタを使用し、
ブラウザが閉じられたときにエラーとみなし、このとき
ロックを解除する仕組みにすればうまく同時接続を制御できるかもしれません。


On Wed, 08 Mar 2006 19:05:55 +0900
Hideki SUNADA <hideki @ pac-01.com> wrote:

> ログアウトする・・もしくはブラウザを閉じた時に
> セッションファイルの中身が消えますので、
> それをうまく利用すると出来そうですね。
> 
> ログインするたびに、同じ会員IDを持つ人が利用している
> セッションファイル(もしくはセッションファイルの中身)があるかど
> うかをチェックするとか・・。あればログインも拒否する等々。
> 
> 的はずれでしたらすみません。
> 
> On Wed, 08 Mar 2006 17:18:54 +0900
> "tamura masuhisa" <wander1275 @ hotmail.co.jp> wrote:
> 
> > みなさまこんにちは、まーと申します。
> > どうぞ力をお貸してください。
> > 
> > Free BSD 4.7
> > PHP 4.3.9
> > MySQL 3.23.58
> > 以上の環境で開発しています。
> > 
> > 現在、phpで会員制のコンテンツサイトを作成しています。
> > 
> > 会員IDが1つにつき、1ユーザーのみ利用できるようなしくみを
> > 考えています。
> > 
> > もし、同会員IDで2ユーザー以上の同時アクセスがあった場合は
> > 後から接続したユーザーの画面にエラーメッセージを表示させる
> > 仕様を考えています。
> > 
> > 早速、同時アクセスがあった場合のエラー処理についての質問ですが・・・
> > 
> > 私が考えているのは・・・
> > 
> > 1.初回認証時、会員認証が成功した時点で、クッキーにランダムな
> >   英数字(以降、キー文字)を書き込む
> > 
> > 2.データベースの会員トランザクションファイルに[書き込み時間],[会員ID],
> >   [キー文字]を書き込む
> > 
> > 3.次回認証時にクッキーの[キー文字]とデータベースの[キー文字]が違う、かつ
> >   データベースの[書き込み時間]から5分以内の場合はエラーメッセージを出力
> >   
> > 以上を検討しています。(それでも瞬間的な同時アクセスしか防げないですが^^;)
> > 
> > 質問1:この考えで、できそうですか?
> > 
> > 質問2:なにかもっと良いやり方ってありますか?
> > 
> > どうぞよろしくお願いします。
> > 
> > _________________________________________________________________
> > 迷惑メールやウイルスへの対策も万全「MSN Hotmail」 
> > http://promotion.msn.co.jp/hotmail/ 
> > 
> > _______________________________________________
> > PHP-users mailing list  PHP-users @ php.gr.jp
> > http://ns1.php.gr.jp/mailman/listinfo/php-users
> > PHP初心者のためのページ - 質問する前にはこちらをお読みください
> > http://www.php.gr.jp/php/novice.php3
> > 
> 
> 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3



+-------------------------------------------
  根も葉もない.com

  e-mail:  yamato @ nemohamonai.com
  URL:     http://www.nemohamonai.com
-------------------------------------------+



PHP-users メーリングリストの案内