Session管理してる?
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/23(水) 23:24ID:ZWP7e.MkDBで一意のsessionidを作ってやりゃーいいんだけどExpireとか
めんどくさい。
ASPやPHP4ならSession管理楽だよね。
0002名無しさん@お腹いっぱい。
2001/05/23(水) 23:32ID:???0003名無しさん@お腹いっぱい。
2001/05/24(木) 01:17ID:???>ASPやPHP4ならSession管理楽だよね。
ASPやPHP4が、自分に代わってhiddenのパラメータなり(POSTの場合)、
GETパラメータなりを管理してくれてるのでしょうか?
tcp/ipの接続を持続してるとか、勝手にクッキー使ってるってわけでは
ないと思うのだけど、どうやってSessionを実装しているのかなあ、と疑問
に思ったので。
0004名無しさん@お腹いっぱい。
2001/05/24(木) 10:42ID:???ASPはcookie投げてるという話を聞いたなあ。
僕はperl + Apahce::Session with cookie ばっかだから知らないけど。
0005ナナシファン
2001/05/24(木) 10:55ID:X3JWHld.デフォルトで勝手にクッキーを使うよ。クッキーを使えない端末の
ときは、configureの時に--enable-trans-sidしてあれば
全部のリンクにsession idをつけてくれる。
ただ、<a href=だとつくんだけど<a taskだとだめなんだよなぁ〜
というわけでHDMLの場合は自分でつける必要アリ
0006俺もナナシファンだったり
2001/05/24(木) 12:10ID:VUBEv.zkApache::Sessionってどうよ?
セッションのガベージコレクションの機能とかないんじゃなかったっけ?
俺は1リクエスト毎にデータベースに書きに行くのがすごくうざくって、
ちょっと触っただけでやめちゃったけれど・・・
00073
2001/05/24(木) 15:32ID:???そりゃそれ以外ないよな。
あとは携帯電話の固体IDだけど、503iから使えるようになった奴ですが、
210iではどうだろう?
00084じゃないけど
2001/05/24(木) 20:26ID:CDMAiqEAセッションタイムアウトは自動でやってくれないね。
タイムスタンプのフィールド用意しておいて、cronで削除が一般的かな。
mod_perl下で使えば、かなり使えると思う。
00094
2001/05/25(金) 03:05ID:C8bJzxHM言う事なくなっちゃった(笑)
そういや、mod_perlのスレないね...。ま、perl板でも繁盛してなかったけど。
>>7
あと、URLにセッションIDを埋め込む方式があるね。
携帯とPCを両用したいときとかによくつかってます。
00103
2001/05/25(金) 11:07ID:y6UssZUU>携帯とPCを両用したいときとかによくつかってます。
PATH_INFOですか?
それもGETパラメータ(URL)の一種だとは思いますが、
QUERY_STRINGと比べて特に携帯だからPATH_INFOを使う
意味も無いような、、、
逆にPATH_INFOでも使う分には同じなのでどちらでもいいし、
QUERY_STRINGやPOSTパラメータはシステムによっては
自動的に解析される部分に入ってしまうだろうから、それらの
仕組みとぶつからないというメリットかな?
0011名無しさん@お腹いっぱい。
2001/05/25(金) 14:35ID:jbE0alI6サイトってありますかねー?
0012名無しさん@お腹いっぱい。
2001/05/25(金) 18:47ID:???0013電動ナナシ
2001/05/26(土) 00:03ID:???ここ見たら?
http://www.itboost.co.jp/php/php_12.php
http://www.phpbuilder.com/columns/ying20000602.php3?print_mode=1
0014ナナシファン
2001/05/29(火) 12:40ID:S1fqIqMgうぉぉぉ!まさにコレ!
http://www.phpbuilder.com/columns/ying20000602.php3?print_mode=1
MySQLでセッション管理したかったんだよねーー!!ロードバランサは
(いいものになると)結構お値段が張るので、TurboLinux ClusterServer
とかを使ってWWWのクラスタリングをしたかったんだけど、セッションを
どーしよーかと途方に暮れてたところでした!
電動ナナシさん、サンクス!これからも有益な情報をお願いしますです!
0015名無しさん@お腹いっぱい。
2001/05/29(火) 18:09ID:i2JkDuIgMySQLの方がいいのかな?
0016名無しさん@お腹いっぱい。
2001/05/29(火) 18:57ID:oi4kyUtIPATH_INFOじゃなくても、mod_rewriteで
ごにょごにょやる手もあるよ。環境変数として渡したり。
0017名無しさん@お腹いっぱい。
2001/05/30(水) 10:48ID:???webのセッション管理にDBMSって関係有る?
PHPのインターフェースの部分が、DBMSによってセッション管理が
用意されている/いないの差があるということかな?
おれはPHPでないので知りませんが。
0018電動ナナシ
2001/05/30(水) 15:13ID:???不要、ということで、PostgreSQL のような重装備の RDBMS よりも MySQL の
ような軽くて高速なデータベースが向いているということでしょ。
すでに PostgreSQL があってそれを使いたいということなら、別にそれでも
いいでしょ。セッションハンドラは別途書かないといけないというのはどの
RDBMS でも一緒。
0019名無しさん@お腹いっぱい。
2001/05/31(木) 12:55ID:6kiiO4aQ0020名無しさん@お腹いっぱい。
2001/05/31(木) 19:37ID:???衝撃の質問!
0021名無しさん@お腹いっぱい。
2001/06/01(金) 10:08ID:lW7xbRZQサーバーなんで都度requireしなければいけないのですが...
しかし、国際版PHPじゃないのがつらすぎる。Perl+DBIのほうが開発早かった
かもしれんッス
0022電動ナナシ
2001/06/01(金) 17:50ID:???常に必要ってわけじゃない。
Web ページ間で変数を引き渡す手段が必要なときに有用ってだけ。
>>20
3.0.9 って思いっきりセキュリティホールがあるじゃん。
バージョンあげてもらうついでに国際化版にしてもらおう。
それが無理なら Perl を使ったほうがマジでいいぞ。
0023名無しさん@お腹いっぱい。
2001/06/11(月) 11:59ID:BchxEcFAよくユーザ登録のページで情報を入力しsubmitして
確認画面がでますよね。でソースを見ると入力内容をHidden
で渡してるものもあれば、Hiddenを使用していないものもあります。
Hiddenを使用せず渡すのは、s_id見たいなものを
をキーにして入力内容をDBに毎回insertしてページ間でデータが
渡っているのでしょうか?それとも別の方法があるんですかね?
疑問だったので・・・。
0026名無しさん@お腹いっぱい。
2001/06/11(月) 12:44ID:???まぁ普通はCookieだと思うが
0027名無しさん@お腹いっぱい。
2001/06/12(火) 12:44ID:???なったときに面倒っすよ。趣味でPCだけ相手にしているときにはいいけど。
0028名無しさん@お腹いっぱい。
2001/06/12(火) 13:16ID:???ソース見てhiddenがないのはどうなってるのかって聞いたから例としてcookie
と言ったまで。
そりゃ状況によって方法は変えますよ、わたしゃ。
0029名無しさん@お腹いっぱい。
2001/06/22(金) 12:49ID:yGqQ.0ks0030殿堂ナナシ
2001/06/22(金) 22:26ID:???Servlet ではセッションはサーバのメモリに保持する。
ファイルやDBはオーバーヘッドがあるのであまりないね〜。
PHP4 はファイルですよね(よく分からんけど)
>>24
クッキーに情報自体を保持するのは、一般的?に
セッション管理とは言いにくいような。。。
# セッションIDは別
0031名無しさん@お腹いっぱい。
2001/06/22(金) 22:34ID:???セッション終了時に消えるクッキーをセッションクッキーって
言うの知らないの?
0032殿堂ナナシ
2001/06/22(金) 23:21ID:???怒ってる〜?
そうだね。レスポンスヘッダに設定する有効期限を無しに
すればセッションが続く限りクライアントが情報を保持するよね。
んで、そのセッションクッキーってのを使うと
セッション管理してるということになるの?
hidden と同じでクライアントに投げたら投げっぱなしなので
管理とは言いがたいような気がします〜。
毎回切断される HTTP で継続して情報を保持するために
サーバでランダムな ID を発行し、それをキーにクライアントと
やりとりを行う。
それをセッション管理と言う。
0033名無しさん@お腹いっぱい。
2001/06/23(土) 03:44ID:???そのやり取りって、クッキー使ってんじゃないの?
0034名無しさん@お腹いっぱい。
2001/06/23(土) 13:09ID:???もちろん、擬似的なセッション維持だとは思うけど。
データをどこにもつかって事だと思うけど、
cokkieはドメイン毎に4Kまでの制限があるから、
ふつうサーバーでデータは保持する。
0035殿堂ナナシ
2001/06/23(土) 22:56ID:???いづれかでやりとりされる。
・クッキー
・get リクエスト
・put リクエスト
このIDを普通はセッションIDっていうよね。
最近の Java や PHP では意識はしなくてもいいけど。
0036名無しさん@お腹いっぱい。
2001/06/24(日) 08:45ID:???>・get リクエスト
>・put リクエスト
結局hidden以外はcookieじゃん。
0037名無しさん@おへそいっぱい。
2001/06/24(日) 12:09ID:???なの。現行のステートマネージメントは
・Cookie の受け渡し
・HIDDEN フィールド
・URL Rewrite
で行われている (Servet の話だけど)。
ちなみにセッション ID がランダムに振られるシステムは設計が
おかしい。
0038殿堂ナナシ
2001/06/24(日) 21:36ID:???・クッキー <- Cookie の受け渡し
・post リクエスト <- HIDDEN フィールド
・get リクエスト <- URL Rewrite
私の表現がおかしい〜?
URL Rewrite は クッキーが使えないときにAP サーバが
セッションIDを URL に Rewrite するっていうものだよね。
最近、セキュリティ的に問題があるので使ってはいけないというのが
良く言われてるけど。
セッションIDがランダムに振られるのがおかしいというのはなぜ〜?
最近はAPサーバにセッション管理が実装されてるから
あまり意識してないもので。。。
一意性の問題?
0039名無しさん@おへそいっぱい。
2001/06/25(月) 00:25ID:???維持したままシャッフルすると思われる。ちょっと揚げ足を取っ
てみただけ。
現行のステートマネージメントメカニズムは、どの方法も SSL と
組み合わせないとセキュリティ的に問題ありだね。というか
そんなの Web の常識だったはずなのに、なぜ突然ひろみちゅが
騒ぎ始めたのか分からんよ。
URL Rewrite/HIDDEN フィールド
ソースを見れば一目瞭然。URL 欄にも表示される。ジャンプ先
サイトでは Referer ヘッダで参照可能 (ブラウザの種類と
バージョンにもよる)。自サイトを SSL 化しても Referer
ヘッダは漏れてしまうかも (なりすまし接続は無理だろうが)。
Cookie
丸見えでない分 URL Rewrite/HIDDEN フィールドよりまし
だが平文であることには変わりない。プロキシサーバなら
余裕で盗める。期限付きのはファイルで残る。
# 昔、クライアント側の IP アドレスを使ってセッション ID
# にハッシュかければセキュリティもバッチリでは? と発明
# しかけたが、程なくプロキシの存在を忘れているのに気づ
# いた。
0040名無しさん@お腹いっぱい。
2001/06/25(月) 15:58ID:???クライアント側のクッキーにはIDのみで、
セッション情報はサーバ側に保存されるので
セキュリティ的には問題ない
と、どっかで読んだ覚えがあるんですが。
0042名無しさん@おへそいっぱい。
2001/06/26(火) 10:43ID:???セッション情報ごと盗まれるのと等しい。ただ、情報が丸見えでは
なく、どのような情報か想像しずらいという人間的な利点があるだけ。
ユーザ認証後のセッション ID を盗まれたら、アプリケーションを
乗っ取られたのと事実上同じ。セキュリティを確保したければ SSL
と併用せれ。
0043名無しさん@おへそいっぱい。
2001/06/26(火) 10:45ID:???セッション情報ごと盗まれるのと等しい。ただ、情報が丸見えでは
なく、どのような情報か想像しずらいという人間的な利点があるだけ。
ユーザ認証後のセッション ID を盗まれたら、アプリケーションを
乗っ取られたのと事実上同じ。セキュリティを確保したければ SSL
と併用せれ。
0044名無しさん@お腹いっぱい。
2001/06/26(火) 15:40ID:???ID+有効期限を暗号化して発行すれば、
多少マシになる。
0045名無しさん@おへそいっぱい。
2001/06/26(火) 17:27ID:???0046名無しさん@おへそいっぱい。
2001/06/26(火) 17:28ID:???0047名無しさん@お腹いっぱい。
2001/06/26(火) 23:59ID:DSIpbR1wなんでもいいじゃない?
暗号化も複合化もサーバーでやるんだから
実際にやってるけど、SIDとログインタイムをある形式にフォーマットして
BASE64で暗号化して発行。クライアントから返されるSIDは形式のチェックで先ずはじく。
仮に、クッキー盗まれても有効期限内しか使えないし、
まあ、解読も可能だろうけど、一定期間でキーやアルゴリズム変えれば、
それなりに実用的だと思う。
なんか間違ってる?
0048名無しさん@お腹いっぱい。
2001/06/27(水) 00:07ID:???つくったのはおいらでないので間違ってるかも
0049名無しさん@おへそいっぱい。
2001/06/27(水) 00:52ID:DNFpNq1Iあったら意味ないでしょ。盗んだ側にとっては ID が暗号化され
ているかどうかなんて関係なく、盗んだ Cookie をそのまま送り
返せばよいのだから (だから >>39 でクライアント側の IP ア
ドレスをキーにハッシュかけようとした)。
あ、俺が考えてるのは中継サーバ等で Cookie が盗まれた場合ね。
総当りでのセッション ID 盗難防止という話だったら暗号化だけで
効果は高い。んーでも総当りなんて目立つ方法で盗もうとする莫迦
いるか? だから、わざわざセッション ID を暗号化してもたいした
効果がないと思っただけ。
0050名無しさん@おへそいっぱい。
2001/06/27(水) 01:02ID:???0051名無しさん@お腹いっぱい。
2001/06/27(水) 02:33ID:IVYsrfFEクライアント固有の識別ID(macアドレスとか)を
簡単に取れる手段があるといいんですがねえ。
プライバシー的には問題おおありですが。
そういうの、MSならやってくれ・・・ないか。さすがに。
0052名無しさん@お腹いっぱい。
2001/06/27(水) 16:30ID:???503iのような、固体識別番号取得タグをどのブラウザも実装してくれれば
話は簡単だけれども。
確認が入るのでプライバシー的な問題も無いと思うし、MSさん実装して
くれまいか。
0053名無しさん@お腹いっぱい。
2001/07/02(月) 04:53ID:???0054名無しさん@お腹いっぱい。
2001/07/02(月) 21:19ID:T7UPCPm6いま(さらながらに)騒がれてるやつあるよね。
あれは相当驚異だよ。たぶん完全に防げてるサイトなんて数えるほど。
0055名無しさん@お腹いっぱい。
2001/07/02(月) 22:08ID:pL9j.pM60056名無しさん
2001/07/02(月) 22:14ID:???0057名無しさん@お腹いっぱい。
2001/07/02(月) 22:19ID:???おれは54じゃないけど
クレジットカード情報がサーバ上ではまるみえで、
ブラウザのURL直打ちで見れちゃったというニュースなら読んだ。
http://hwj-www.hotwired.co.jp/news/news/business/story/20010625102.html
0058名無しさん@お腹いっぱい。
2001/07/03(火) 04:13ID:PMTadY4oそれとも SSL のポートを使って侵入 or 成りすましという話か?
0059名無しさん@お腹いっぱい。
2001/07/03(火) 09:04ID:???0060名無しさん@お腹いっぱい。
2001/07/03(火) 09:58ID:.3Xwbm0A0061名無しさん@お腹いっぱい。
2001/07/03(火) 11:25ID:???実は知ってる人にはあたり前のことではあるが、C****S***-S********のことです。
解っててもそうそう防ぎ切れないもんでおれも困ってるの。もうここまでにしとくね。
きっとしかるべき機関なり人がしかるべきところで注意喚起してくれることを期待して。
0062名無しさん@お腹いっぱい。
2001/07/03(火) 11:47ID:???0063名無しさん@おへそいっぱい。
2001/07/03(火) 13:41ID:EU3mmkbgマジできたら今まで言ったこと撤回するわ。
0064名無しさん@お腹いっぱい。
2001/07/04(水) 15:40ID:???たとえばxxxx.php?id=123がありid部分を違う数字に
変えれば違う情報が表示されます。
直接入力された時は処理できないようにしたいのですが・・・。
0065名無しさん@お腹いっぱい。
2001/07/04(水) 15:45ID:???0066名無しさん@お腹いっぱい。
2001/07/04(水) 16:23ID:???0067名無しさん@お腹いっぱい。
2001/07/04(水) 17:15ID:???サーバ側で何使ってるんだ?
CGIならREQUEST_METHODを見る
ServletならdoGet()とdoPost()で処理を分ける
0068名無しさん@おへそいっぱい。
2001/07/04(水) 21:28ID:U5Vc3q2oGET がはじけるだろう。まにあるみれ。
0069殿堂ナナシ
2001/07/04(水) 23:34ID:???セッションの登録について PHP4 マニュアルには
「変数名を保持する文字列または変数名からなる配列」
ってあるね。
Java だと Serializable なオブジェクト(Javabean とか)は
出来るのにね〜。
007066
2001/07/05(木) 01:19ID:???あきらめきれずこんなテストコード書いたらちゃんとカウントアプしてくれた。
<?php
class testFoo {
var $count;
function testFoo($i) {
$this->count = $i;
}
function inc() {
$this->count++;
}
function hello() {
$this->inc();;
echo("hello, " . $this->count . " times.\n");
}
}
session_start();
if (!isset($obj)) {
$obj = new testFoo(0);
session_register("obj");
}
?>
<html>
<h1>
<?php $obj->hello(); ?>
</h1>
</html>
/tmp覗いたら
obj|O:7:"testfoo":1:{s:5:"count";i:3;}
となんとなくシリアライズしてくれてる風味。
0071名無しさん@お腹いっぱい。
2001/07/05(木) 12:38ID:???そのマニュアルの記述は、session_register(); の引数は
変数を表す文字列かその配列だよという意味だったんだね。
0072名無しさん@お腹いっぱい。
2001/07/13(金) 13:41ID:???セッションIDの取得すればよいのですかね?
たとえばxxx.php?session_idのような感じでOKかな?
じゃ、Hiddenで渡すとき、nameは何になるのでしょうか?
疑問だったので・・・・・。
0073名無しさん@お腹いっぱい。
2001/07/13(金) 14:14ID:IqmDBVro例:
$value=$HTTP_POST_VARS["hoge"];
これだとGET送信されたhoge(パラメータ名)の値は取れません。
phpの設定によっては使用できませんが。
0074名無しさん@お腹いっぱい。
2001/07/13(金) 16:50ID:???0075名無しさん@お腹いっぱい。
2001/07/18(水) 09:56ID:pNSSuY1U各ユーザのセッション情報を特定するということじゃないのかな?
例えば、各ユーザでカスタマイズされたページを出力
するとか・・・。
0076名無しさん@お腹いっぱい。
2001/07/18(水) 13:58ID:IiBzwOm6必要性を感じないなら必要なし。
複数のHTTPセッションに渡ってクライアント情報を維持したいときに便利。
0077名無しさん@お腹いっぱい。
2001/07/18(水) 21:33ID:???PHP4 でしょ? だったら session_start() するだけて
session_register() した変数をとりこんでくれるんだから
スクリプト側は session ID を意識しなくていいじゃん。
007877
2001/07/18(水) 21:36ID:???セッション終わっても情報を取っときたいってことね。
0079PHP三日目
2001/07/18(水) 23:52ID:???セッションタイムアウトってゆー概念がないの?
(ASPにあるよーなやつ)
0080名無しさん@お腹いっぱい。
2001/07/21(土) 00:12ID:???0081名無しさん@お腹いっぱい。
2001/07/30(月) 11:20ID:???0082ナナシファン
2001/07/30(月) 11:55ID:gBtO/HQgあるよ〜。設定はphp.iniじゃなかったかな?覚えてなくてごめん。
0084名無しさん@お腹いっぱい。
2001/07/30(月) 19:30ID:???二つのページを同時にアクセスした場合とかどうよ
セッション情報に「前のページ」とか残して、
それを信用して組んだりできないよね...
0085名無しさん@お腹いっぱい。
2001/07/31(火) 04:37ID:???>二つのページを同時にアクセスした場合とかどうよ
二つは別セッションになるんじゃないの?
0086コメント無しさん
2001/08/03(金) 14:08ID:???>セッション情報に「前のページ」とか残して、
>それを信用して組んだりできないよね...
セッション管理が大丈夫かどうかとは関係ない気が
>>85
それは、IEでなんか設定したときだけじゃない?
0087名無しさん@お腹いっぱい。
2001/08/04(土) 13:47ID:DQ4jThjYクッキーに配列を保存できますかね?
例えば、
$data=array(
"a" => "hoge1",
"b" => "hoge2"
);
SetCookie("hogehoge", $data);
こんな感じで$data配列を作成しクッキーに保存して、
$c_data=$HTTP_COOKIE_VARS["hogehoge"];
で、データを呼び出して
echo"$c_data[a]";
で出力できるようにしたいのですが、
なかなかうまくいかないです。
0089電動ナナシ
2001/08/04(土) 18:06ID:yWM3EPUwCookie は文字列しか受け付けないだろ?
マニュアル (http://www.php.net/manual/en/function.setcookie.php) を
見れば分かるが、引数は "string" と書いてある。
int setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])
マニュアルのサンプルコードにやりたいことのやり方が書いてあるぞ。
0091コメント無しさん
2001/08/07(火) 16:12ID:???クッキーの寿命の話ね。
ひとつのブラウザで1つのセッションになる。
IEは、設定すればウィンドウごとに別セッションになる。
セッションで「前のページ」を保存って話題だから、パラメータでセッション変数渡すことは考えてない。
そんときはパラメータに前ページ情報つければなにも問題ないから。
0092名無しさん@お腹いっぱい。
2001/08/10(金) 14:12ID:RmKi09oM>IEは、設定すればウィンドウごとに別セッションになる。
どうやってすんの?
0093名無しさん@お腹いっぱい。
2001/08/10(金) 14:14ID:???0094名無しさん@お腹いっぱい。
2001/08/10(金) 14:26ID:RmKi09oMクッキーのとこ?
なんないけど
0095名無しさん@お腹いっぱい。
01/11/07 01:49ID:xHkACnavage
0096名無しさん@お腹いっぱい。
01/11/07 02:15ID:WNbh62gsクロスサイトスクリプティングでしょ?
009795
01/11/07 02:29ID:xHkACnavあーホントだ、よく見りゃそうだ。どうもありがd
これで安心して眠れるぞヽ(´ー`)ノ
0098名無しさん@お腹いっぱい。
01/11/08 22:15ID:BR2wW00P/tmpにセッションごとの変数の値ががんがんたまってます。
もういいやと思ったあたりで消すしかないんでしょうか?
0099名無しさん@お腹いっぱい。
01/11/16 10:07ID:dtqn0qNF0100名無しさん@お腹いっぱい。
01/11/16 17:01ID:???0101名無しさん@お腹いっぱい。
01/11/16 17:14ID:???/var/tmp/php以下を掃除するようにしてる。
0102名無しさん@お腹いっぱい。
01/11/18 03:56ID:???マニュアル読み直した方が良いかと思われ。
0104名無しさん@お腹いっぱい。
01/11/18 12:29ID:???session.gc_probabilityでGCの開始確率指定かえてみたら?
0105101
01/11/18 21:08ID:???いてある。デフォルトは1.0じゃなくて1%ってことだったのカー。
逝ってくる。
0106z
01/11/21 00:38ID:???早いとこ php4に行きたいなぁ。
ところで、php4のセッション管理って、クラスのインスタンスを
保存できないのだよね? スカラー変数と配列のみ??
インスタンスが保存できればうれしいんだけどな。
0107名無しさん@お腹いっぱい。
01/11/21 21:59ID:???クラスのインスタンスもセッション登録は可能です。
メンバのみでメソッドはセッションに保存されないけどね
詳細はマニュアルをみれ
0108名無しさん@お腹いっぱい。
01/11/21 23:41ID:???010998
01/11/23 14:24ID:w+gD3nN+わかりやすい流れで助かりました。
ありがとうございます。
0110名無しさん@お腹いっぱい。
01/11/27 16:01ID:cyjl29qDPHP4標準のセッション機能とPHPLIBでのセッション機能、
みなさんどちらを使用されていますか?
どちらを使用しようか迷ってます。
0111age
02/01/09 12:58ID:13jpWnyp0112名無しさん@お腹いっぱい。
02/01/12 14:03ID:???0113名無しさん@お腹いっぱい。
02/01/15 09:56ID:???Apache::Session (Perl モジュール) の話が出てるね。
0114113
02/01/15 09:58ID:???http://memo.st.ryukoku.ac.jp/archive/200201.month/2669.html
http://memo.st.ryukoku.ac.jp/archive/200201.month/2670.html
です。
0115名無しさん@お腹いっぱい
02/01/23 02:53ID:???そのSession内でやりたいことを記述することに集中できますよ。
PHPもいいですけど、WebObjectsは比較になりませんでした。
0116名無しさん@お腹いっぱい。
02/01/24 16:18ID:???0117名無しさん@お腹いっぱい。
02/02/21 16:29ID:???クロスサイトスクリプティング等の問題もあるけど。
セッションIDをURLで持たせて行くのは怖いような気がするんですが、みんなはどうやってる?
0118名無しさん@お腹いっぱい。
02/02/21 17:02ID:???0119名無しさん@お腹いっぱい。
02/02/23 11:58ID:???使ってる人居る?
0120age
02/06/20 21:08ID:iXAPSXQ3Proxyサーバーを通している場合、
クライアントがブラウザを閉じてもCookieがProxyサーバーに残りますか?
0122nobodyさん
02/07/24 21:42ID:sfTx1osqロックファイルはどうやって削除するのがイイんで
しょうか? delete() した後も残りますよね。
Apache::Session::Lock::File だと clean() がある
んだけど… (でもバグってる)
0123山崎渉
03/01/15 13:51ID:???0124nobodyさん
03/03/09 16:41ID:xF/AergBURL埋め込みやhiddenを使ってページ間で値を渡してます
URL埋め込みの場合ですが、直打ちで任意のページを表示できてしまうので
アンケートの解答中にふとしたはずみで
直にページに飛んでしまい、解答済みのデータが飛ぶかもしれないと
PATH_INFOを使って判別してるのですが
PATH_INFOは間違った情報を返したりすることはないんでしょうか?
リファは結構ふっとんだりしてくれるので
似たようなことが起こるかと心配で…
0125nobodyさん
03/03/10 22:33ID:???0126nobodyさん
03/03/12 17:37ID:UYTsxMQDセッションオブジェクトを外部鯖のDBに保存する方法があるんだが、
http://www.pgsql.info/yohgaki.php
http://www.phpbuilder.com/columns/ying20000602.php3
誰か実際にやっている人います?
0127山崎渉
03/03/13 16:59ID:???0128nobodyさん
03/03/13 20:01ID:???ここのスクリプトを改造して、自前でやってるぞ。
ttp://itb-tech.itboost.co.jp/phptips/view.php?fCID=15
0129nobodyさん
03/03/15 00:57ID:???おれも使ってる。正月にリニューアルしてwebを2台構成にした。
DBは後ろのネットワークに下げて両方から繋いでる。
www1.hoge.com
www2.hoge.com
の構成でも使えてるヨ。
0130nobodyさん
03/03/15 01:14ID:Sqe0b8Eyクッキー:勝ち組
0131nobodyさん
03/03/15 18:03ID:YPCssbUz以下のプログラムを冒頭に置くとプログラムの最後の行を示しパーサーエラーで,
停止してしまいます。
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");
}
原因はセッション変数に明示的に変数が設定されていないからでしょうか?
0132nobodyさん
03/03/15 18:15ID:???ただの構文エラーだろ
0133nobodyさん
03/03/15 18:53ID:YPCssbUzサンクス
でも、さっきのプログラムの前に別の関数からデータをセットして
あると動くんだよね
/* セッション変数管理 */
if (!isset($_SESSION["diary_year"])) {
$_SESSION["diary_year"] = date("Y");
}
こんなかんじで
date("Y")って部分は別の関数から定義されてるんだよね
最初にセッション関数が呼び出されたときには、配列の中を空に
しておきたいんですよ、それから簡単なエラーチェックをして
sbmitが実行した時にさっきのプログラムで文字をエンコードしたいよね。
0134nobodyさん
03/03/31 23:27ID:7tNuLEs3質問させてください。
Perlで会員管理のしくみをつくってるのですが、
会員情報を入れてあるCSVファイルに、セッションIDの列をつくる。
IDパスワードを入れてもらってログインに成功した場合、
$year.$month.$day.$hour.$min.$$をcryptしたものを、
会員情報のセッションID列と、クッキーの両方に書き込んで、
以降は、そのセッションIDをクッキーでもらったら、それに該当する会員情報を表示する・・・
これって、問題ないでしょうか?
また、セッションIDを暗号化するという場合、上記のようにサーバ側とクライアント側両方を、
cryptするべきなんでしょうか?
0135nobodyさん
03/03/31 23:54ID:lrdCZ3fPやりかた自体はOK。
cryptはCookieのマジックナンバーを生成するために行うもの。
だからクッキーを生成するときに1回だけ行う。
0137nobodyさん
03/04/01 08:38ID:CaQk8w76自己レスだが134には問題あった。
会員テーブルにセッションIDフィールドを持たせるのはよくない。
セッションはセッション管理用のテーブルを別にもたせる。
そのテーブルには、
セッションID
ユーザ識別コード
セッション間で引き渡すデータ
セッションの最終アクセス日時
などを入れておく。
0138135
03/04/01 23:57ID:1YIS/hSTたびたびすみません。
で、正直、>>137のようにするメリットがわかりません。。。
あと、ユーザ識別コードって、
会員テーブルのユニークな主キー(の外部キー)っていうことですか?
0139nobodyさん
03/04/02 01:33ID:???0140nobodyさん
03/04/03 06:17ID:+kJBCXqSユーザ識別コードはユーザごとのユニークなキー
です。セッション間で値を引き渡すだけの簡単な
管理だけなら不要ですね。ログインして利用する
サイトを作るなら必要になると思いますが。
セッション管理の理論は書いてあっても実装まで具体的に
書かれている本って少ないですから、書籍で勉強する
よりホームページで勉強したほうがいいかもね。
0141134
03/04/04 10:45ID:lpjcObWV>>137 だと、
もしユーザが「ログアウト」ボタンを押したとき、
クライアントの持ってるクッキーも削除(過去の時間を指定)して、
セッション管理用テーブルから該当レコードを削除すればいいわけですよね?
ただ、ユーザがログアウトボタンを押さずにブラウザを閉じてしまった場合、
該当レコードは削除されないため、レコードがどんどんたまってしまうかと思います。
これは、どうすればいいのでしょう?
ほっとくしかない?あるいは、
どっかのタイミング(そのユーザがまたログインしてきたとき?)に削除するのでしょうか?
あ、そのために「セッションの最終アクセス日時」の列があるのかな?
0142nobodyさん
03/04/04 19:30ID:tuNiAs90ふつうはサーバでクーロン動かして定期的に掃除してやる。
0143141
03/04/04 22:50ID:fnHSIfLlそっかー。
いまつくってるところ、クーロン使えないんですよね・・・
なら、そのユーザがまたログインしてきたときに、
削除(というか新しいセッションIDに書き換える)
でも、問題とくにないですよね?
0144141
03/04/05 02:53ID:ur80FjBN$year += 1900;#気持ちわるいので、一応4桁にしておく
$sessionid = crypt($year.$mon.$mday.$hour.$min.$sec.$$, "AA");
で、セッションIDを取得したのですが、なんかいアクセスしても、
$sessionid = AAwTU6/kNo2jY という文字列になってしまいます。
なぜなんでしょうか
0145nobodyさん
03/04/05 05:27ID:WWynoIxPユーザが再度ログインしたら、前回のそのユーザのセッション
ファイルだけ削除する必要はない。ログインしたらすべての
セッションファイルをチェックして、時間切れになるものをすべて
削除すればOK。
0146nobodyさん
03/04/05 08:30ID:LO75gp9Zブラウザがわでクッキー無効にされてる場合ってセッション管理できなくなってしまうのでしょうか?その場合はURLにうめこむとか、HiddenでPOSTするとかで対処するしかないのでしょうか?
0147nobodyさん
03/04/05 13:05ID:Ia1grhBJprint $sessionid;
・・と、セッションIDを生成してるのですが、
リロードを何度やっても同じ文字列になってしまい、
わけわからん状態です。。。
どうしてなのでしょうか?
0148nobodyさん
03/04/05 14:31ID:???0150nobodyさん
03/04/05 18:53ID:???MD5($1$) = 255文字(?)
BlowFish($2$) = ?
0152山崎渉
03/04/17 12:09ID:???0153山崎渉
03/04/20 06:23ID:???( ^^ )< ぬるぽ(^^)
0154nobodyさん
03/04/22 07:11ID:WjOOaJ36するには、どうすればいいのでしょうか?
0155(´д`;)ハァハァ
03/04/22 07:52ID:dKeQqhoi0156nobodyさん
03/04/22 08:08ID:???「あなたは本当に○○さんですか?」というダイアログを出す。
SSL 使えないならマジこれしかない。
0157154
03/04/22 08:12ID:WjOOaJ362重ログイン(複数の人が同じIDでログイン)
↓
2重ログイン(複数の人が同じIDで、同時に、ログイン)
0158nobodyさん
03/04/22 10:54ID:???んん? どんなセッション管理の方法を使ってるのかわからんが……。
普通はそんな状況にはならんのではないのか?
IDとセッションを対で運用してる?
一つのIDには一つまでのセッションしかないようにすれば、解決しないか?
0159nobodyさん
03/04/22 18:52ID:???設計しだいだな。ログイン時の IP アドレスを記録しておいて、
同一 ID に対する最終ログイン IP アドレスしか受け付けないように
するしかないか。
A → ログイン (成功)
A → ページ要求 (成功)
B → ログイン (成功)
A → ページ要求 (失敗)
B → ページ要求 (成功)
これは IP アドレスを個人特定のキーに使っているが、ID に対する
初回ログイン時に Cookie を発行して、ID と Cookie を検証するとか
そういう方法しかない。まぁこの話を聞いてピンとこなきゃあきらめれ。
0160nobodyさん
03/04/22 22:54ID:???ログイン時に同じオブジェクトが永続化されていればログイン中などの判定を下す…
色々な判定基準があるだろうけど。ちょっと実装が難しいかな。
0161154
03/04/24 01:14ID:Dv9rntoLほんとだ。普通にクッキーと、セッションマスタ.csvをつくってたら、
自然と解決してた。
0162nobodyさん
03/04/24 08:35ID:g+kZcsKrセッション管理してたら、共用サーバだと追い出されます?
0164162
03/04/26 19:48ID:bCd38fy3そうなんだ。。。
てっきり、「当たり前だろ」みたいなレスがくるかなと思ってた。
0165nobodyさん
03/04/26 20:29ID:M/JTw+9v( ,,)┌─┴┴─┐
/ つ.;ダブダブ-│
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛'゛'゛
おかずなら過激に
http://www.dvd01.hamstar.jp
0166bloom
03/04/26 20:29ID:4lzrogLr0167nobodyさん
03/05/10 21:17ID:NHls6sVf0168nobodyさん
03/05/10 21:48ID:1U30OwKYhttp://accessplus.jp/staff/in.cgi?id=10943
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=pure
http://www.39001.com/cgi-bin/cpc/gateway.cgi?id=neat
0169nobodyさん
03/05/22 01:04ID:Ql5nBZ7C0170動画直リン
03/05/22 01:08ID:x2YZ4VCE0171山崎渉
03/05/22 01:55ID:???0172山崎渉
03/05/28 17:22ID:???ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0173山崎 渉
03/07/15 11:14ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0174nobodyさん
03/07/20 19:23ID:H04Zp+KF申込フォームが2,3ページまたがるページが多いとする。
(申込1->申込2->確認->完了のような)
この場合、その申込フォーム毎にsessionで
パラメータ受け渡しするのって割と普通にやるもん?
hiddenで持ちまわしてもいいんだけど、
入力不備があって前のページに戻したい時
入力されたパラメータを維持させた状態で前のページに戻そうとすると
LocationだとGETで渡すしかなくて、それだとURLに出てしまう。
sessionでやれるんであればそのページ自体にPOSTして
入力チェックもそのページ内のコードで完結できて
あとはLocationで飛ばせばすむ。
申込フォーム毎にセッション作るっておかしい?
それくらいhiddenでやるべき?
マジレスきぼん。
0175八重洲支店
03/07/20 20:39ID:???0177山崎 渉
03/08/02 02:25ID:???( ^^ )< ぬるぽ(^^)
0178nobodyさん
03/09/04 01:42ID:wD/9gEl40179nobodyさん
03/09/04 16:49ID:i0S65Zr2セッション情報保持してんの?
クッキーすててもログアウトするまでID残ってんだけど・・・
誰か知らない??
0182nobodyさん
03/09/10 23:46ID:xZuE4Q/q残るんですね・・・・・・
0183●のテストカキコ中
03/09/10 23:50ID:???0184nobodyさん
03/12/25 17:34ID:???↓みたいなのでいいと思いますか?
使用可能な環境
SSL CGI SQLDB
ログイン画面→画面1→画面2→画面3
(全部SSL)
1.ログイン画面でID・パスワードを入れる
SQLDBと比較してOK
2.セッションIDを生成しクッキー作成(期限無効メモリー内)
サーバー上のセッションIDファイルへ追加
3.画面2→画面3へ移るたびにクッキーの
セッションIDとサーバーのセッションIDファイルを
比較してチェック
今迷っているのはセッションIDをどう生成するかです。
また、画面移動するたびにチェックが必要なのでしょうか。
みなさんはどうしていますか?
0185nobodyさん
03/12/26 13:34ID:???試したけど、どれも一長一短でいまいち。
そこで、ふと思いついたんだけど
セッションIDなんて使うから危険?
単純に hidden + POST(GETはダメ) + SSL(必須) で
ID+パスワードをパラメータで毎回送って
全ページで認証すればいいような。
PHP使おうが、クッキー使おうがどっちみち
セッションIDの認証は全ページしないといけない
事を考えるとレスポンス自体もそんなにかわらない
ような気がするし、セキュリティーの
観点から見ても結構いいと思うけど
どうでしょうか。
なによりも
携帯端末でもこの仕組みなら問題ないしね。
0186nobodyさん
03/12/26 19:06ID:???0188nobodyさん
04/01/31 14:44ID:3hbTQvCa0190nobodyさん
04/02/01 02:24ID:???http://itbtech.itboost.co.jp/php/php_12.php
0191nobodyさん
04/02/01 11:38ID:WI3J2wo7セッション管理のような真似はできまつか...
0194nobodyさん
04/02/01 11:59ID:WI3J2wo7どんなテクニックで行うのか教えてもらえませんか、参考になるURLでもいいでつ
よろぴく。
0195nobodyさん
04/02/01 12:08ID:???0196nobodyさん
04/02/01 23:33ID:+Nypdzo/PHPは?
javaもcookie使ってるの?
0197nobodyさん
04/02/02 00:06ID:???>>196 同じく
0198nobodyさん
04/02/02 03:43ID:???0199nobodyさん
04/02/02 03:53ID:???0200nobodyさん
04/02/03 20:12ID:lxZMOySbごめんちょ
0201nobodyさん
04/02/07 03:27ID:???0203nobodyさん
04/02/09 06:47ID:???いろんな店に行ってるので、どこ娘とやったのか覚えきらんのです。
だから、無期限の cookie を発行してセショ-ン管理したいなと。
0205nobodyさん
2005/03/30(水) 04:26:02ID:???/tmp/sess_???
ファイルに入るんだよね。
DBにした場合フィールド長をどのくらいにしようかと・・・
0206nobodyさん
2005/03/30(水) 11:38:36ID:???0207nobodyさん
2006/02/19(日) 00:45:24ID:HErML43Bhidden連れ回しじゃなくURLリライティング?とかでやりたいんですけど
apacheのmod_rewriteとかでいいんでしょうか?
情報お願いします
0208nobodyさん
2006/11/01(水) 10:50:28ID:???0209nobodyさん
2007/05/21(月) 17:57:45ID:6xHZsetU0210nobodyさん
2008/07/18(金) 21:53:52ID:9ZIfrdcCCookieからセッションidを読み取れた = Cookieオンである
と判断して間違いないでしょうか?
それとも、Cookieからセッションidを読み取れたが、
Cookieに書き込みができない、という状況も想定するべきですか?
0211nobodyさん
2008/11/24(月) 08:36:45ID:???0212nobodyさん
2010/11/06(土) 12:14:09ID:???Perlのセッションの決定版書籍ってないかな。
0213山崎 渉
2011/03/29(火) 00:33:24.36ID:???( ^^ )< ぬるぽ(^^)
0214 忍法帖【Lv=40,xxxPT】(7+0:8) 【33.7m】 電脳プリオン ◆3YKmpu7JR7Ic
2013/01/19(土) 16:14:51.27ID:????PLT(12079)| |
人
∧_∧ < >_∧∩
( ・∀・) 人`Д´)/ ←>>153
と ) < >_∧∩
Y /ノ .人`Д´)/ ←>>177
/ ) < >_∧∩
_/し' //. V`Д´)/ ←>>213
(_フ彡 /
0215nobodyさん
2014/01/18(土) 09:29:59.63ID:???0216Мы из будущего c Perl
2014/03/25(火) 09:00:27.64ID:???時代が流れ流れて 2014年の perlはこんなかんじになったぞい ちなみにperl自体ですら鯖になるんだぞい
セッション管理とデータベースをバインド ちなロシア製
$self->plugin('session' => {
store => MojoX::Session::Store::Dbi->new(
dbh => DBI->connect('DBI:mysql:MyApp:', 'user', 'pass'),
),
transport => MojoX::Session::Transport::Cookie->new,
expires_delta => 36000,
stash_key => 'mojox-session',
});
# Router
my $r = $self->routes;
# /nurupo にアクセスすると welcome ページを表示
$r->get('/nurupo')->to('example#welcome');
my $logged_in = $r->bridge->to( 'example#login');
## / とか /hogehogeとかにアクセスしようとすると ログインしてないと ログイン画面に戻る セッション?そんなもん意識したら負け
$logged_in->get('/')->to( 'example#welcome');
$logged_in->get('/hogehoge')->to( 'example#hoegehoe');
■ このスレッドは過去ログ倉庫に格納されています