Session管理してる? (221レス)
上下前次1-新
136: 134 03/04/01 08:35 ID:??? AAS
>>135
なるほど、ありがとうございますた
137(2): 03/04/01 08:38 ID:CaQk8w76(1) AAS
135です。
自己レスだが134には問題あった。
会員テーブルにセッションIDフィールドを持たせるのはよくない。
セッションはセッション管理用のテーブルを別にもたせる。
そのテーブルには、
セッションID
ユーザ識別コード
セッション間で引き渡すデータ
セッションの最終アクセス日時
などを入れておく。
138(1): 135 03/04/01 23:57 ID:1YIS/hST(1) AAS
>>137
たびたびすみません。
で、正直、>>137のようにするメリットがわかりません。。。
あと、ユーザ識別コードって、
会員テーブルのユニークな主キー(の外部キー)っていうことですか?
139: 03/04/02 01:33 ID:??? AAS
破壊を防ぐ
140: 03/04/03 06:17 ID:+kJBCXqS(1) AAS
>>138
ユーザ識別コードはユーザごとのユニークなキー
です。セッション間で値を引き渡すだけの簡単な
管理だけなら不要ですね。ログインして利用する
サイトを作るなら必要になると思いますが。
セッション管理の理論は書いてあっても実装まで具体的に
書かれている本って少ないですから、書籍で勉強する
よりホームページで勉強したほうがいいかもね。
141(3): 134 03/04/04 10:45 ID:lpjcObWV(1) AAS
すいません、あとひとつ。
>>137 だと、
もしユーザが「ログアウト」ボタンを押したとき、
クライアントの持ってるクッキーも削除(過去の時間を指定)して、
セッション管理用テーブルから該当レコードを削除すればいいわけですよね?
ただ、ユーザがログアウトボタンを押さずにブラウザを閉じてしまった場合、
該当レコードは削除されないため、レコードがどんどんたまってしまうかと思います。
これは、どうすればいいのでしょう?
ほっとくしかない?あるいは、
どっかのタイミング(そのユーザがまたログインしてきたとき?)に削除するのでしょうか?
あ、そのために「セッションの最終アクセス日時」の列があるのかな?
142(1): 03/04/04 19:30 ID:tuNiAs90(1) AAS
>>141
ふつうはサーバでクーロン動かして定期的に掃除してやる。
143(1): 141 03/04/04 22:50 ID:fnHSIfLl(1) AAS
>>142
そっかー。
いまつくってるところ、クーロン使えないんですよね・・・
なら、そのユーザがまたログインしてきたときに、
削除(というか新しいセッションIDに書き換える)
でも、問題とくにないですよね?
144: 141 03/04/05 02:53 ID:ur80FjBN(1) AAS
($sec, $min, $hour, $mday, $mon, $year,$wday, $yday, $isdst) = localtime(time);
$year += 1900;#気持ちわるいので、一応4桁にしておく
$sessionid = crypt($year.$mon.$mday.$hour.$min.$sec.$$, "AA");
で、セッションIDを取得したのですが、なんかいアクセスしても、
$sessionid = AAwTU6/kNo2jY という文字列になってしまいます。
なぜなんでしょうか
145: 03/04/05 05:27 ID:WWynoIxP(1) AAS
>>143
ユーザが再度ログインしたら、前回のそのユーザのセッション
ファイルだけ削除する必要はない。ログインしたらすべての
セッションファイルをチェックして、時間切れになるものをすべて
削除すればOK。
146: 03/04/05 08:30 ID:LO75gp9Z(1) AAS
ASP VBScriptでsession変数を使ってセッション管理しようおおもうのですが、
ブラウザがわでクッキー無効にされてる場合ってセッション管理できなくなってしまうのでしょうか?その場合はURLにうめこむとか、HiddenでPOSTするとかで対処するしかないのでしょうか?
147(2): 03/04/05 13:05 ID:Ia1grhBJ(1) AAS
$sessionid = crypt($year.$mon.$mday.$hour.$min.$sec.$$, "AA");
print $sessionid;
・・と、セッションIDを生成してるのですが、
リロードを何度やっても同じ文字列になってしまい、
わけわからん状態です。。。
どうしてなのでしょうか?
148(1): 03/04/05 14:31 ID:??? AAS
crypt って、先頭の何文字かしかみてなかったと思う。
149: 147 03/04/05 18:50 ID:??? AAS
>>148
なーるほど。
調べたら、先頭8文字しか見てないようです
150: 03/04/05 18:53 ID:??? AAS
DES(無印) = 8文字
MD5($1$) = 255文字(?)
BlowFish($2$) = ?
151: 03/04/09 05:08 ID:??? AAS
>>147
セッションを全く理解していないと思われるので、
まずフローチャート描いてみることをお勧めする。
152: 山崎渉 [(^^)] 03/04/17 12:09 ID:??? AAS
(^^)
153(1): 山崎渉 [(^^)sage] 03/04/20 06:23 ID:??? AAS
∧_∧
( ^^ )< ぬるぽ(^^)
154(4): 03/04/22 07:11 ID:WjOOaJ36(1/2) AAS
セッション管理しつつ、2重ログイン(複数の人が同じIDでログイン)を禁止
するには、どうすればいいのでしょうか?
155: (´д`;)ハァハァ 03/04/22 07:52 ID:dKeQqhoi(1) AAS
外部リンク:www.k-514.com
156: 03/04/22 08:08 ID:??? AAS
>154
「あなたは本当に○○さんですか?」というダイアログを出す。
SSL 使えないならマジこれしかない。
157(1): 154 03/04/22 08:12 ID:WjOOaJ36(2/2) AAS
あ、すいません、訂正
2重ログイン(複数の人が同じIDでログイン)
↓
2重ログイン(複数の人が同じIDで、同時に、ログイン)
158(1): 03/04/22 10:54 ID:??? AAS
>>154
んん? どんなセッション管理の方法を使ってるのかわからんが……。
普通はそんな状況にはならんのではないのか?
IDとセッションを対で運用してる?
一つのIDには一つまでのセッションしかないようにすれば、解決しないか?
159: 03/04/22 18:52 ID:??? AAS
>>157
設計しだいだな。ログイン時の IP アドレスを記録しておいて、
同一 ID に対する最終ログイン IP アドレスしか受け付けないように
するしかないか。
A → ログイン (成功)
A → ページ要求 (成功)
B → ログイン (成功)
A → ページ要求 (失敗)
B → ページ要求 (成功)
これは IP アドレスを個人特定のキーに使っているが、ID に対する
初回ログイン時に Cookie を発行して、ID と Cookie を検証するとか
そういう方法しかない。まぁこの話を聞いてピンとこなきゃあきらめれ。
160: 03/04/22 22:54 ID:??? AAS
Javaを使っている場合、JMSを使ってみるとか。Sessionオブジェクトを一定期間DBなんかに永続化して
ログイン時に同じオブジェクトが永続化されていればログイン中などの判定を下す…
色々な判定基準があるだろうけど。ちょっと実装が難しいかな。
161: 154 03/04/24 01:14 ID:Dv9rntoL(1) AAS
>>158
ほんとだ。普通にクッキーと、セッションマスタ.csvをつくってたら、
自然と解決してた。
162(2): 03/04/24 08:35 ID:g+kZcsKr(1) AAS
あのー、(トップ含めて)すべてのページをcgi'perl)にして、
セッション管理してたら、共用サーバだと追い出されます?
163(1): 03/04/26 11:29 ID:??? AAS
>>162
そんなもん、鯖の性能次第だろ。
164: 162 03/04/26 19:48 ID:bCd38fy3(1) AAS
>>163
そうなんだ。。。
てっきり、「当たり前だろ」みたいなレスがくるかなと思ってた。
165: 03/04/26 20:29 ID:M/JTw+9v(1) AA×

外部リンク:www.dvd01.hamstar.jp
上下前次1-新書関写板覧索設栞歴
あと 56 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.020s