アプリ版:「スタンプのみでお礼する」機能のリリースについて

皆さんこんにちは。セッション管理について教えて下さい。

Perlを使用し、cgiでWebのUIを作製中でして、CGI::Session.pmのモジュールで
セッション管理を行っており、クライアントの同時接続数を1台に制限したいのですが、
うまくいかずに困っております。

クライアントからアクセスがあった場合に、最新のセッションを

$session->expire 及び
$session->empty

で確認し、期限切れ、又は無効となっていたら新規セッションを発行している為、
クライアントがログアウトした場合は$session->deleteでサーバ内のセッションファイルを
削除できて問題はないのですが、ブラウザのxボタンで閉じてしまった場合、サーバ内の
セッションファイルが削除されず、他のクライアントがログインできない状況になってしまいます。

セッションのデータはサーバ内のディレクトリに、セッションIDのみcookieで
クライアントに保存という形態をとっております。

何か良い方法はないでしょうか?何卒ご教授のほど、お願い致します。

OS:FedraCore3
使用言語:Perl 5.8.6
Webサーバ:thttpd

A 回答 (1件)

クライアント側から、cgiに対して一定時間ごとにHTTPリクエストを出すようするというのは、どうでしょうか。



metaタグを用いて再読込するか、

<meta http-equiv="refresh" content="60">


もしくは、javascript のxmlhttprequest を投げるようにするとか


ただ、この方法にしろ、利用者がログイン状態のまま、PCの前から長時間離れてしまうと、
ほかのクライアントがログインできませんが。
    • good
    • 0
この回答へのお礼

chaimasuka様、ご回答頂きましてありがとうございます。

javascriptのxmlhttprequestですね。調べて検討してみます。

ありがとうございました。

お礼日時:2007/10/22 10:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!