Session管理してる? (221レス)
1-

129: 03/03/15 00:57 ID:??? AAS
>>126

おれも使ってる。正月にリニューアルしてwebを2台構成にした。
DBは後ろのネットワークに下げて両方から繋いでる。

www1.hoge.com
www2.hoge.com

の構成でも使えてるヨ。
130: 03/03/15 01:14 ID:Sqe0b8Ey(1) AAS
セッション:負け組
クッキー:勝ち組
131
(1): 03/03/15 18:03 ID:YPCssbUz(1/2) AAS
POSTメソッドを利用して入力フォームからPHPでPostgreSQLにApache経由でデータを登録するプログラムを書いています。
以下のプログラムを冒頭に置くとプログラムの最後の行を示しパーサーエラーで,
停止してしまいます。
session_start();
ob_start("mb_output_handler");

/* データ登録処理 */
if (isset($_POST["sbmt"])) {
/* enctypeがmultipart/form-dataなのでエンコーディング変換 */
while (list($key, $val) = each($_POST)) {
$_SESSION["post"][$key]
= htmlspecialchars(
mb_convert_encoding($val, "EUC-JP", "auto"),
ENT_COMPAT,
"EUC-JP");
}
原因はセッション変数に明示的に変数が設定されていないからでしょうか?
132
(1): 03/03/15 18:15 ID:??? AAS
>131
ただの構文エラーだろ
133: 03/03/15 18:53 ID:YPCssbUz(2/2) AAS
>132
サンクス
でも、さっきのプログラムの前に別の関数からデータをセットして
あると動くんだよね
/* セッション変数管理 */
if (!isset($_SESSION["diary_year"])) {
$_SESSION["diary_year"] = date("Y");
}
こんなかんじで
date("Y")って部分は別の関数から定義されてるんだよね
最初にセッション関数が呼び出されたときには、配列の中を空に
しておきたいんですよ、それから簡単なエラーチェックをして
sbmitが実行した時にさっきのプログラムで文字をエンコードしたいよね。
134
(3): 03/03/31 23:27 ID:7tNuLEs3(1) AAS
今までのログを読んだけれど、なんとなくしかわかってないので、
質問させてください。

Perlで会員管理のしくみをつくってるのですが、

会員情報を入れてあるCSVファイルに、セッションIDの列をつくる。
IDパスワードを入れてもらってログインに成功した場合、
$year.$month.$day.$hour.$min.$$をcryptしたものを、
会員情報のセッションID列と、クッキーの両方に書き込んで、
以降は、そのセッションIDをクッキーでもらったら、それに該当する会員情報を表示する・・・

これって、問題ないでしょうか?
また、セッションIDを暗号化するという場合、上記のようにサーバ側とクライアント側両方を、
cryptするべきなんでしょうか?
135
(2): 03/03/31 23:54 ID:lrdCZ3fP(1) AAS
>>134

やりかた自体はOK。

cryptはCookieのマジックナンバーを生成するために行うもの。
だからクッキーを生成するときに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には一つまでのセッションしかないようにすれば、解決しないか?
1-
あと 63 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.015s