Session管理してる? (221レス)
Session管理してる? http://medaka.5ch.net/test/read.cgi/php/990627898/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
133: nobodyさん [] 03/03/15 18:53 ID:YPCssbUz >132 サンクス でも、さっきのプログラムの前に別の関数からデータをセットして あると動くんだよね /* セッション変数管理 */ if (!isset($_SESSION["diary_year"])) { $_SESSION["diary_year"] = date("Y"); } こんなかんじで date("Y")って部分は別の関数から定義されてるんだよね 最初にセッション関数が呼び出されたときには、配列の中を空に しておきたいんですよ、それから簡単なエラーチェックをして sbmitが実行した時にさっきのプログラムで文字をエンコードしたいよね。 http://medaka
.5ch.net/test/read.cgi/php/990627898/133
134: nobodyさん [] 03/03/31 23:27 ID:7tNuLEs3 今までのログを読んだけれど、なんとなくしかわかってないので、 質問させてください。 Perlで会員管理のしくみをつくってるのですが、 会員情報を入れてあるCSVファイルに、セッションIDの列をつくる。 IDパスワードを入れてもらってログインに成功した場合、 $year.$month.$day.$hour.$min.$$をcryptしたものを、 会員情報のセッションID列と、クッキーの両方に書き込んで、 以降は、そのセッションIDをクッキーでもらったら、それに該当する会員情報を表示する・・・ これって、問題ないでしょ
うか? また、セッションIDを暗号化するという場合、上記のようにサーバ側とクライアント側両方を、 cryptするべきなんでしょうか? http://medaka.5ch.net/test/read.cgi/php/990627898/134
135: nobodyさん [] 03/03/31 23:54 ID:lrdCZ3fP >>134 やりかた自体はOK。 cryptはCookieのマジックナンバーを生成するために行うもの。 だからクッキーを生成するときに1回だけ行う。 http://medaka.5ch.net/test/read.cgi/php/990627898/135
136: 134 [sage] 03/04/01 08:35 ID:??? >>135 なるほど、ありがとうございますた http://medaka.5ch.net/test/read.cgi/php/990627898/136
137: nobodyさん [] 03/04/01 08:38 ID:CaQk8w76 135です。 自己レスだが134には問題あった。 会員テーブルにセッションIDフィールドを持たせるのはよくない。 セッションはセッション管理用のテーブルを別にもたせる。 そのテーブルには、 セッションID ユーザ識別コード セッション間で引き渡すデータ セッションの最終アクセス日時 などを入れておく。 http://medaka.5ch.net/test/read.cgi/php/990627898/137
138: 135 [] 03/04/01 23:57 ID:1YIS/hST >>137 たびたびすみません。 で、正直、>>137のようにするメリットがわかりません。。。 あと、ユーザ識別コードって、 会員テーブルのユニークな主キー(の外部キー)っていうことですか? http://medaka.5ch.net/test/read.cgi/php/990627898/138
139: nobodyさん [sage] 03/04/02 01:33 ID:??? 破壊を防ぐ http://medaka.5ch.net/test/read.cgi/php/990627898/139
140: nobodyさん [] 03/04/03 06:17 ID:+kJBCXqS >>138 ユーザ識別コードはユーザごとのユニークなキー です。セッション間で値を引き渡すだけの簡単な 管理だけなら不要ですね。ログインして利用する サイトを作るなら必要になると思いますが。 セッション管理の理論は書いてあっても実装まで具体的に 書かれている本って少ないですから、書籍で勉強する よりホームページで勉強したほうがいいかもね。 http://medaka.5ch.net/test/read.cgi/php/990627898/140
141: 134 [] 03/04/04 10:45 ID:lpjcObWV すいません、あとひとつ。 >>137 だと、 もしユーザが「ログアウト」ボタンを押したとき、 クライアントの持ってるクッキーも削除(過去の時間を指定)して、 セッション管理用テーブルから該当レコードを削除すればいいわけですよね? ただ、ユーザがログアウトボタンを押さずにブラウザを閉じてしまった場合、 該当レコードは削除されないため、レコードがどんどんたまってしまうかと思います。 これは、どうすればいいのでしょう? ほっとくしかない?あるいは、 どっかのタイミング(そのユーザ
がまたログインしてきたとき?)に削除するのでしょうか? あ、そのために「セッションの最終アクセス日時」の列があるのかな? http://medaka.5ch.net/test/read.cgi/php/990627898/141
142: nobodyさん [] 03/04/04 19:30 ID:tuNiAs90 >>141 ふつうはサーバでクーロン動かして定期的に掃除してやる。 http://medaka.5ch.net/test/read.cgi/php/990627898/142
143: 141 [] 03/04/04 22:50 ID:fnHSIfLl >>142 そっかー。 いまつくってるところ、クーロン使えないんですよね・・・ なら、そのユーザがまたログインしてきたときに、 削除(というか新しいセッションIDに書き換える) でも、問題とくにないですよね? http://medaka.5ch.net/test/read.cgi/php/990627898/143
144: 141 [] 03/04/05 02:53 ID:ur80FjBN ($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 という文字列になってしまいます。 なぜなんでしょうか http://medaka.5ch.net/test/read.cgi/php/990627898/144
145: nobodyさん [] 03/04/05 05:27 ID:WWynoIxP >>143 ユーザが再度ログインしたら、前回のそのユーザのセッション ファイルだけ削除する必要はない。ログインしたらすべての セッションファイルをチェックして、時間切れになるものをすべて 削除すればOK。 http://medaka.5ch.net/test/read.cgi/php/990627898/145
146: nobodyさん [] 03/04/05 08:30 ID:LO75gp9Z ASP VBScriptでsession変数を使ってセッション管理しようおおもうのですが、 ブラウザがわでクッキー無効にされてる場合ってセッション管理できなくなってしまうのでしょうか?その場合はURLにうめこむとか、HiddenでPOSTするとかで対処するしかないのでしょうか? http://medaka.5ch.net/test/read.cgi/php/990627898/146
147: nobodyさん [] 03/04/05 13:05 ID:Ia1grhBJ $sessionid = crypt($year.$mon.$mday.$hour.$min.$sec.$$, "AA"); print $sessionid; ・・と、セッションIDを生成してるのですが、 リロードを何度やっても同じ文字列になってしまい、 わけわからん状態です。。。 どうしてなのでしょうか? http://medaka.5ch.net/test/read.cgi/php/990627898/147
148: nobodyさん [sage] 03/04/05 14:31 ID:??? crypt って、先頭の何文字かしかみてなかったと思う。 http://medaka.5ch.net/test/read.cgi/php/990627898/148
149: 147 [sage] 03/04/05 18:50 ID:??? >>148 なーるほど。 調べたら、先頭8文字しか見てないようです http://medaka.5ch.net/test/read.cgi/php/990627898/149
150: nobodyさん [sage] 03/04/05 18:53 ID:??? DES(無印) = 8文字 MD5($1$) = 255文字(?) BlowFish($2$) = ? http://medaka.5ch.net/test/read.cgi/php/990627898/150
151: nobodyさん [sage] 03/04/09 05:08 ID:??? >>147 セッションを全く理解していないと思われるので、 まずフローチャート描いてみることをお勧めする。 http://medaka.5ch.net/test/read.cgi/php/990627898/151
152: 山崎渉 [(^^)] 03/04/17 12:09 ID:??? (^^) http://medaka.5ch.net/test/read.cgi/php/990627898/152
153: 山崎渉 [(^^)sage] 03/04/20 06:23 ID:??? ∧_∧ ( ^^ )< ぬるぽ(^^) http://medaka.5ch.net/test/read.cgi/php/990627898/153
154: nobodyさん [] 03/04/22 07:11 ID:WjOOaJ36 セッション管理しつつ、2重ログイン(複数の人が同じIDでログイン)を禁止 するには、どうすればいいのでしょうか? http://medaka.5ch.net/test/read.cgi/php/990627898/154
155: (´д`;)ハァハァ [] 03/04/22 07:52 ID:dKeQqhoi http://www.k-514.com/ http://medaka.5ch.net/test/read.cgi/php/990627898/155
156: nobodyさん [sage] 03/04/22 08:08 ID:??? >154 「あなたは本当に○○さんですか?」というダイアログを出す。 SSL 使えないならマジこれしかない。 http://medaka.5ch.net/test/read.cgi/php/990627898/156
157: 154 [] 03/04/22 08:12 ID:WjOOaJ36 あ、すいません、訂正 2重ログイン(複数の人が同じIDでログイン) ↓ 2重ログイン(複数の人が同じIDで、同時に、ログイン) http://medaka.5ch.net/test/read.cgi/php/990627898/157
158: nobodyさん [sage] 03/04/22 10:54 ID:??? >>154 んん? どんなセッション管理の方法を使ってるのかわからんが……。 普通はそんな状況にはならんのではないのか? IDとセッションを対で運用してる? 一つのIDには一つまでのセッションしかないようにすれば、解決しないか? http://medaka.5ch.net/test/read.cgi/php/990627898/158
159: nobodyさん [sage] 03/04/22 18:52 ID:??? >>157 設計しだいだな。ログイン時の IP アドレスを記録しておいて、 同一 ID に対する最終ログイン IP アドレスしか受け付けないように するしかないか。 A → ログイン (成功) A → ページ要求 (成功) B → ログイン (成功) A → ページ要求 (失敗) B → ページ要求 (成功) これは IP アドレスを個人特定のキーに使っているが、ID に対する 初回ログイン時に Cookie を発行して、ID と Cookie を検証するとか そういう方法しかない。まぁこの話を聞いてピンとこなきゃあきらめれ。 http://m
edaka.5ch.net/test/read.cgi/php/990627898/159
160: nobodyさん [sage] 03/04/22 22:54 ID:??? Javaを使っている場合、JMSを使ってみるとか。Sessionオブジェクトを一定期間DBなんかに永続化して ログイン時に同じオブジェクトが永続化されていればログイン中などの判定を下す… 色々な判定基準があるだろうけど。ちょっと実装が難しいかな。 http://medaka.5ch.net/test/read.cgi/php/990627898/160
161: 154 [] 03/04/24 01:14 ID:Dv9rntoL >>158 ほんとだ。普通にクッキーと、セッションマスタ.csvをつくってたら、 自然と解決してた。 http://medaka.5ch.net/test/read.cgi/php/990627898/161
162: nobodyさん [] 03/04/24 08:35 ID:g+kZcsKr あのー、(トップ含めて)すべてのページをcgi'perl)にして、 セッション管理してたら、共用サーバだと追い出されます? http://medaka.5ch.net/test/read.cgi/php/990627898/162
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 59 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s