Session管理してる?
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/23(水) 23:24ID:ZWP7e.MkDBで一意のsessionidを作ってやりゃーいいんだけどExpireとか
めんどくさい。
ASPやPHP4ならSession管理楽だよね。
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使ってるの?
■ このスレッドは過去ログ倉庫に格納されています