【PHP】セッションについて語ろう!【PHP】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/09/24 19:31ID:SnRvXmpIブラウザを閉じることでクッキーを消しているからなのですね。。
知らなかったよーーーーうわーーーん
0175173
04/11/24 15:43:40ID:???レスありがとうございます
ログイン前の匿名情報(ショッピングカートのようなもの)を
セッションIDで管理、
ログイン後の情報はセッションだとちょっと怖いので
セキュアクッキーでアクセスの度に毎回ログインチェックをしてます。
セッションIDだけで
クライアントを特定するのって
会員制のようなサイトでも普通なんでしょうかね?
0176nobodyさん
04/11/25 03:52:30ID:???個人的な構築法としてはセッションIDとログイン情報を関連付けて
セッションIDきたらログイン情報みて毎回チェックするけど
規模がデカイ or サーバしょぼい 場合は毎回チェックするとレスポンス落ちるから
Yahooみたいに重要な処理のときだけログインチェックみたいな形にしてる
けど173のケースだとログイン前からの情報とも連携するみたいだし
それならセッションIDとcookie使ってても納得できる
毎回ログインチェックするのに越したことはないけど
やっぱりサーバのスペック的な問題でレスポンスが結構影響でてくるから
重要なページ(個人情報変更)とかだけ認証っていう形でもありじゃないかな?
良いセッションの使い方があれば他の人フォロー頼みます。
0177nobodyさん
04/11/26 20:15:19ID:5ndPRR48全く異なるネットワーク&端末からの接続は排除できる。
(NAT環境とか一部のCATV環境からのアクセスはどうしようもないけど)。
で、その上でブラウザバージョンとか「相手から送られてくる情報」を、
『セッション単位のワンタイム情報』として管理すればかなりいけるんでない?
まぁ、金銭扱う場合は「やりすぎ」ってのはないだろうけど、使う側の利便性を
考えればワンタイム情報として上記を扱う(+独自のスパイス)でほぼ安全でしょう。
0178173
04/11/26 20:37:10ID:???やっぱりサーバ負荷は一番気になるとこですね。
たいへん参考になりました。
ありがとうございました。
>>177
大企業などアクセスのたびに
毎回IPアドレスが変わる環境もあるから
だめじゃないかな?
0179nobodyさん
04/11/27 05:47:30ID:pSdshSFH> 大企業などアクセスのたびに
> 毎回IPアドレスが変わる環境もあるから
> だめじゃないかな?
そんな場合、HTTPに限らず他のサービスでも認証が絡む奴は
大問題になりそうな希ガス...
気のせい?
0180nobodyさん
04/11/27 07:24:52ID:GhxEggFVIPで認証するの?
0183nobodyさん
04/11/28 09:37:50ID:???「IPが変わってもサービスを継続する」実装が結構あるんですね。
確かに作っちゃえば可能だなー>セッション管理
ちょっと遊んでみよう(w
0185nobodyさん
04/11/28 23:38:51ID:???他の変数は無事なのに、これだけたまに消えるんだけど…
0186nobodyさん
04/11/29 12:38:23ID:???>>178
> >>177
> 大企業などアクセスのたびに
> 毎回IPアドレスが変わる環境もあるから
> だめじゃないかな?
アクセスの度に変わるんだぜ?
Connection張りにきたからってACK返そうにも
すでにIPアドレスが変わっているんだぜ?
って、釣りか....>>178
0187nobodyさん
04/11/29 14:14:13ID:???それじゃインターネットに繋がってるだけで送受信できないし
ACK返す前に変わるとかそんなシステムあるの?
1回セッションした後でIP変わってもう一度セッションしたときに
どうなるかだろ
そもそも接続元IPを使ってどーのこーのって
今の時代に使ってるところないだろ
0188nobodyさん
04/11/29 16:37:42ID:???セッション汁!?
>>186
なんかかみ合ってない。
どういう意見なの?
できればはじめての発言でないなら前のレス番使ってくれ。
0190nobodyさん
04/11/30 01:20:22ID:???黙って読め
0192nobodyさん
04/11/30 12:42:02ID:???「アクセスの度」っていう「アクセス」の定義が不明なんじゃない?
セッションはその通りだけど、PHPのセッションとはまたちょっと違う気がする。
HTTPセッションが切れても状態を引き継ぐための一例としてPHPセッションが
有るんじゃないの?
0193nobodyさん
04/11/30 14:41:16ID:???セッションが切れてない間は
IPアドレスが変わらないって言いたいの?
なにが言いたいのか
結論を書いてくれないと
話しが終わらないんだけど
0195nobodyさん
04/11/30 22:03:43ID:???逆でしょ?
「IPアドレスが変わっても(サービスのために)セッションを切らない」
為の仕組みが「PHPセッション」な訳ですよ。
つか、「セッション」の定義を表現せねばなるまいね。
IPセッションなのか、HTTPセッションなのか。
0196nobodyさん
04/11/30 22:54:22ID:???激しく同意!
ってかセッションってWEBでのセッションはHTTPセッションで
PHPセッションとかってセッション管理だろ
Perl=CGIみたいな初心者的勘違いだな
けど>>186とかACKが帰ってくる前にIP変わるわけだから
これはセッション自体成り立たない
>>192
それはセッション管理だろ
0197nobodyさん
04/12/01 11:09:14ID:???全くわからん
1人の自演だったらすごいけど
0198nobodyさん
04/12/01 15:47:55ID:???0200nobodyさん
04/12/01 19:13:52ID:???0201nobodyさん
04/12/01 22:34:09ID:???仲間はずれにしないでくれ
0202nobodyさん
04/12/02 09:00:03ID:???0203nobodyさん
04/12/02 09:43:08ID:???0204nobodyさん
04/12/02 21:26:45ID:pa/YvkmO0205nobodyさん
04/12/03 00:38:38ID:???そんな無意味なこと書く前に>>178の後半に突っ込み入れるなり
フォロー入れるなりしてみろよ。出来なきゃすっこんでろ。
0208nobodyさん
04/12/03 12:41:20ID:???ここでいいんですか?
0209nobodyさん
04/12/03 14:49:15ID:w3rfsX9n0210nobodyさん
04/12/03 16:43:06ID:???それともDBハンドラ書いてます?
漏れはDBハンドラ使ってるけど。
0211nobodyさん
04/12/04 09:33:25ID:???バランシングしている複数のwebサーバでセッションを共有したいので
セッション情報はバックエンドのDBに入れてDBハンドラ使いまくりです。
0212nobodyさん
04/12/04 10:21:05ID:???物理的にバックエンドDBサーバと同じところにあるので
DBで共有しても良いのだが。特に意味は無いがファイルで。
0214nobodyさん
04/12/04 14:45:51ID:???>183 とか >186 とかで訳分からん事言ってから話がおかしくなったみたいねえ。
0215nobodyさん
04/12/04 21:59:42ID:???0216210
04/12/08 02:26:30ID:???漏れと用途が一緒だ。。
>>212
一度NFSでと考えたけど、オーバーヘッドでかくないですか?
DBハンドラでも大してかわらんかも。。。
ベンチはかってないから分からないけど。。
0217みきすけ
05/01/18 09:30:28ID:fy32GETL0218みきお
05/01/18 10:19:23ID:fy32GETLマニュアルを見てください。
0220nobodyさん
05/01/22 12:37:17ID:???0221みきすけ
05/01/23 13:52:25ID:VKXvKdgM掲示板とか書き込むの初めてなので失礼なことをしてしました。
今、授業でPostgreSQLとPHPを用いてでセッション管理と
ユーザ認証をするプログラムを書かなければならなくて本から
ユーザ認証のプログラムをパクッたんですが、変更しなければ
ならない箇所があるらしく、さっぱり分かりません。
ログイン後の画面のURLを直接入力してもログインしていない状態
ではエラーがでて、そこにとべないようにようにするには
プログラムに何て書けばよいのでしょうか?
理解度が足りず、意味が通じないような質問になってすみません。
0222nobodyさん
05/01/23 13:58:56ID:???0223nobodyさん
05/01/23 14:16:17ID:???パクった本をまずはよく読むこと。
"課題"なんだから、意味判らんままにコードを流用すんな。
つか、見るのはどんな先生かしらんが、
PHPぐらいなら出版物の量も少ないので
コードのパクりかたが、あからさまだとばれるよ。
0224nobodyさん
05/01/23 16:25:22ID:???めんどくさくて書籍のサンプル丸写ししたんだが、先生にばれた。
しかし、先生が机に叩き付けた本は出版社も著者も全然違う人だった。
うーん。
0225nobodyさん
05/01/23 17:00:25ID:???かといって別の本や資料を全然参考にもしてない記述は、
アレ?と思うような変な(適正とは言いがたい)内容のものも、ちらほら
0226nobodyさん
05/01/23 18:54:00ID:???そう言うのは変数名くらい変えとかないと。
あと、インデント幅とかカッコの付け方とか
コメントを適当に付けたりして誤魔化すと完璧。
0227nobodyさん
05/02/04 13:02:28ID:vme7g+zPまともな回答一つもないし。
結局そんなもんか。
0228nobodyさん
05/02/04 15:44:32ID:???これほど簡単な言語はない。arrayの取り扱いを
始めたみたときは正直チンポの先から汁がちょっと出た。ちょっとだけね
0229nobodyさん
05/02/15 18:16:00ID:???phpとセッション管理でできるのかな?
0230nobodyさん
05/02/15 18:17:02ID:???需要は充分すぎる程あると思うんだけど…
0231nobodyさん
05/02/15 23:46:53ID:???そんなケツの穴の小さいこと考えてんのお前だけだよ(ガハハ
0234nobodyさん
05/02/17 18:17:56ID:???0235nobodyさん
05/02/17 18:39:57ID:???0238nobodyさん
05/02/20 15:45:27ID:HD8VrkSMURLにクエリ文字列を埋め込む方法等とどのように使い分ければいい?
0239nobodyさん
05/02/20 18:02:46ID:6EZLRG8p0240nobodyさん
05/02/20 18:26:29ID:???POST・GETの話じゃなくて、セッション使用とページ毎に全データ渡しの話の希ガス
オイラは特に使い分けはしてない。その時の気分次第
0241nobodyさん
05/02/20 18:39:53ID:6EZLRG8pセッション切れてたらTOPページにリダイレクトするとかで良いんじゃね?
0242238
05/02/21 02:23:56ID:???ものはhiddenやクエリーで持ち、ログインIDやパスワードのような
ずっと持ちまわすようなものはセッションというような使い分けかな?
と自己レス。
0243nobodyさん
05/02/22 00:15:50ID:???0244nobodyさん
05/02/22 07:48:53ID:???0246nobodyさん
05/02/22 18:43:15ID:???PHPはマニュアルが充実してるんで、殆どそれ見ながら覚えたヨ!
0247nobodyさん
05/02/23 08:55:22ID:mE2XQAit0248nobodyさん
05/02/24 17:29:34ID:???0249nobodyさん
05/02/24 19:49:22ID:???0251nobodyさん
05/02/24 23:25:30ID:???「PHPできます」って面接で言っちゃって大丈夫。
俺はそうした。余裕でしょこんな雑魚言語。
0252nobodyさん
05/02/24 23:33:01ID:???つうてもJava5年とか書かれてるスキルシートも全然あてにはならんが。
0254nobodyさん
05/02/25 01:10:45ID:???0255251
05/02/25 23:52:19ID:???正直プログラマとしてのセンスを疑うね。
0256nobodyさん
05/02/25 23:54:11ID:4WDXXuTL0257nobodyさん
05/02/25 23:59:29ID:???0259nobodyさん
05/02/26 10:30:38ID:???0260251
05/02/26 22:58:19ID:???ちなみに俺は会社に入ったわけじゃなくて個人事業主として
業務委託されてるだけだけどな。
0261nobodyさん
05/02/26 23:20:36ID:???セッションの話まだー?チンチン
0262nobodyさん
05/02/27 01:15:18ID:???0264nobodyさん
05/03/01 22:07:03ID:???page2でgreenとcatと時間が表示されるはずですが、
Welcome to page #2
1969 12 31 23:57:00
page 1
しか表示されません。なんででしょう・・・(´・ω・`)
--------------------------------------------
<?php
session_start();
echo 'Welcome to page #1';
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();
// cookieによるセッションが受け入れられていれば動作します
echo '<br /><a href="page2.php">page 2</a>';
// あるいは必要ならセッションIDを付加します
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
?>
-----------------------------------------------
<?php
session_start();
echo 'Welcome to page #2<br>';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// page1.phpでやったように、ここでSIDを使うことができます。
echo '<br /><a href="page1.php">page 1</a>';
?>
0265nobodyさん@264
05/03/01 22:08:48ID:B0aTXW7COSとPHPは
Apache/1.3.28 (Win32)
PHP/4.3.10 です。
0266nobodyさん@264
05/03/01 22:20:47ID:???と出るのは、$_SESSION['time'] がNULLのままだからでしょうね・・・
php.ini では
session.auto_start = Off
session.use_trans_sid = On
なんですが、他に設定するところなどがあるでしょうか?
0267nobodyさん
05/03/02 12:42:44ID:???php.iniで設定したsession.save_pathに
保存されているかを確認してみましょう。
0268nobodyさん
05/03/02 12:45:20ID:???と書いてあるので、例えばsession.save_path = "C:\tmp"だったら事前に
tmpフォルダを作っておかないといけない。
0269nobodyさん@264
05/03/02 22:07:46ID:???お世話になります。
何故か php.ini で session.save_path = c:\php\sessiondata になってました・・・
(いつの間に???)
いろいろなページを参考にしていじっている内に、こうなってしまった様です。
一応、phpの下にsessiondataを作って動くようになりました。
基本的にはc:\tmpですよね・・・
お手数をお掛けしました。m(_ _)m
0270nobodyさん
05/03/19 13:08:11ID:oXb2sDzY早いの?軽いの?
0271nobodyさん
05/03/19 13:36:06ID:???ユーザが増えたときにファイルだとinodeの制限を受けてエラー発生てのもあり得ますから。
だから大規模サイトならDB以外ありえない。
0273nobodyさん
05/03/19 20:43:56ID:???0274nobodyさん
2005/04/21(木) 22:24:22ID:zxQ/ZLfoそこで、不要になったセッションファイルを削除しようと思います。
で、下記のようにしてみましたが、全然消えません・・・
session_start();
$session_id = session_id();//セッションIDのバックアップ
session_regenerate_id();//セッションID変更
unlink ("c:\\tmp\\sess_".$session_id);//以前のセッションIDのファイルを削除
ちなみに、
unlink("c:\\tmp\\sess_セッション番号の現物")を使うと確かに消えてくれます。
なんなんでしょか?これ?
■ このスレッドは過去ログ倉庫に格納されています