トップページphp
822コメント255KB

【PHP】セッションについて語ろう!【PHP】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん03/09/24 19:31ID:SnRvXmpI
ブラウザを閉じたらセッションの効果がなくなるのって、
ブラウザを閉じることでクッキーを消しているからなのですね。。
知らなかったよーーーーうわーーーん
0772nobodyさん2007/07/15(日) 01:08:57ID:???
セッションと一緒に飛行機乗ってる時じゃね
0773nobodyさん2007/07/15(日) 01:32:35ID:???
>>771
1.セッション付きのURLから外部のサイトに飛びました
2.外部サイトの鯖ログ(もしくはアクセス解析)に、セッション付きのURLが残りました。
3.その外部サイトの管理者がURLにアクセスしました

セッション管理法が糞なら、こんな事でハイジャックされてしまう事もあるわな。
非常に低レベルなお話だが
0774nobodyさん2007/07/15(日) 01:33:12ID:???
2.外部サイトの鯖ログ(もしくはアクセス解析)に、セッション付きのURLが残りました。

↑これは、リファラとしてって事な。
0775nobodyさん2007/07/15(日) 01:49:10ID:???
>>771
実装次第だけど、セッションIDがどこに保存されているかは大体目星が付くよね?
それをどうにかして奪おうと頑張る人がいるんだよ。
0776nobodyさん2007/07/15(日) 17:28:02ID:???
>>773
それってURLがPHPSESSIDってなっているサイトだよね?

たまに大手サイトであるけど、ほとんどセッションはクッキーで保存
するタイプじゃないの?
0777nobodyさん2007/07/15(日) 22:10:31ID:???
ブラウザ側でクッキーが無効だったらURLに付加するしかねーだろ
恥を知れ
0778nobodyさん2007/07/15(日) 23:30:12ID:???
いや、それはわかってるよ。携帯サイトとかもだろ?
けど、上記に出てるようにセキュリティ的なリスクが高いじゃないか。
0779nobodyさん2007/07/16(月) 10:55:19ID:???
PCサイトではCookie必須とし、session.use_trans_sidはOFFにする。
携帯サイトの場合は、最低限session_nameはデフォルト以外を使う(EZwebを除く)。

ってことでOK?
0780nobodyさん2007/07/17(火) 08:16:46ID:???
アマゾンのあれもセッションじゃん
セキュリティもへったくれもないような
0781nobodyさん2007/07/17(火) 10:55:11ID:???
>>778
だから、セッションIDが漏れても大丈夫なように対策をするわけだ。
非常に低レベルな対策としてはIPアドレスを使う方法だが、
これは例えばDoCoMo携帯みたいに接続ごとにIP変わる場合には使えねぇな。

DoCoMoはリファラ吐かないが、auなんかリファラ吐くから簡単にセッションIDは漏れる。
だから、例えばauの個体識別番号なんかを使って、万が一セッションIDが漏れても
大丈夫なように対策をするわけだろ?

でも個体識別番号の通知をオフにする設定も出来るわけで、そこら辺どう対策していくかとかさ。
それ以前に、最近のau機種の大半ははクッキー対応してるけどw

俺の管理しているサイトの鯖ログには、
mixiのセッションIDがくっついたリファラや、
YahooメールのセッションIDがくっついたリファラがたくさん残ってるが、
だからといってそのURLにアクセスbオても無駄だわbネ。当たり前。
0782nobodyさん2007/07/17(火) 16:09:19ID:???
>>781
mixiはたぶん、毎ログインごとにセッションIDをDBに保存していると思う。
だから、1人のユーザがログインしている時だけ有効なセッションIDを
利用するから、二度と同じセッションIDは使えないわけで、
それがセキュリティ対策になっているのだと思う。

と言ってもOpenPNEのソースをみた印象なので、正しいかどうかはわからないが。
0783nobodyさん2007/08/13(月) 17:11:35ID:2Us4/V6C
すみません質問です!
localhost/test/sessiontest/index.php ←ここでsession_start()してprint session_id(); print session_name();
localhost/test/index.php ←ここでsession_start()してprint session_id(); print session_name();
すると両方とも名前はPHPSESSIDなんですがIDが違ってて、sessiontest/index.phpでセットした値が上の階層で使えません。
下階層でセットしたセッション情報って上の階層で拾うにはどうすればいいのでしょうか。
0784nobodyさん2007/08/13(月) 19:51:06ID:???
session_set_cookie_params
0785nobodyさん2007/08/31(金) 15:08:21ID:1lVu4gM5
セッション管理のヘルパとかライブラリってありますか。
軽量な奴で。
0786nobodyさん2007/08/31(金) 18:25:49ID:???
さあ
0787nobodyさん2007/08/31(金) 20:00:57ID:???
無駄なレスするなよ。屑が。
0788nobodyさん2007/08/31(金) 23:38:44ID:???
無駄なレスするなよ。糞が。
0789nobodyさん2007/09/01(土) 01:28:14ID:NDVzf3zM
>>785
俺が自分で作ったやつがある
0790nobodyさん2007/09/01(土) 06:46:49ID:???
>>789
ここに貼って下さい
0791nobodyさん2007/09/01(土) 16:55:59ID:fGUplrri
[2ch公式広告]

一瞬、ハーバーライフと間違えるところだった。。
違うよ、コレは。

ヤフオク関連の最強情報
これを知らずして、ヤフオクで稼ぐことは出来ない。(キッパリ)

http://2ch2.net/.l?=jd2e
0792nobodyさん2007/09/01(土) 19:11:24ID:???
( ´д)ヒソ(´д`)ヒソ(д` )
07937892007/09/03(月) 09:18:25ID:ipYR2CKm
いや、つうかさ、
>セッション管理のヘルパとかライブラリ
とかって、何に対してして欲しいのさ?
Perlやってた俺としては、PHPは十分便利だと思うけど?
0794nobodyさん2007/09/03(月) 09:52:57ID:M+H83k8j
クッキーじゃ駄目なの?
07957892007/09/03(月) 11:44:25ID:ipYR2CKm
クッキーは1024byteまでしか使えないんじゃなかった?
0796nobodyさん2007/09/03(月) 13:43:02ID:???
4KBじゃなかったっけ
0797nobodyさん2007/09/03(月) 22:23:06ID:???
4096bytes/cookieで特定のホストかドメイン毎に20cookieまで。
さらに携帯では制限付くよ。
というかDoCoMoがいつまでもCokkie非対応で
そろそろ機能が付くという話も聞いた気がしたがサイトに情報なかったな。
0798nobodyさん2007/10/06(土) 16:08:49ID:iTscqPhy
最近、セッションが勝手に切れるんだけど、
同じ現象を経験した人いる?
0799nobodyさん2007/10/06(土) 16:54:37ID:???
>>798
どこのセッション?
0800nobodyさん2007/10/06(土) 19:32:49ID:iTscqPhy
>>798
俺が作ったショッピングサイト。
ショッピングカートの中身が消えるという現象が起きてる。
タイミングは不明。
商品を10、20個入れても消えない時もあるし、3個で消えた事もある。
セッションが破棄されるタイミングがさっぱりわからないんだ。
0801nobodyさん2007/10/06(土) 20:18:38ID:???
お前のバグだ
0802nobodyさん2007/10/08(月) 15:32:47ID:???
>>800
lifetime切れじゃね?
0803nobodyさん2007/11/17(土) 09:00:33ID:???
hpのセッション管理について、動作が不明な点があります。
(現象)
1. ログイン実行、ログイン成功ならばクッキー変数にセッションIDを設定します。

2. しばらくログインしたままで画面を開いていました。
 ガベージコレクションが実行されてプログラム内で設定したセッション変数が削除
 されました。

3. ログアウトの処理を実行せず、画面を閉じて終了しました。
 明示的にsesson_destroy()は実行していません。

4. 再度ログインしました。その後設定されているセッション変数を確認したところ、
 上記1.で設定していたセッションIDと同じ値が設定されました。

2.でガベージコレクションが実行されてセッション変数が
削除されたはずなのに、再度ログインすると同じ以前と同じセッションIDとなる
理由がわかりません。
セッションIDはガベージコレクション実行後でも削除されないのでしょうか。
PHPでセッションIDが変更されるのはどのようなタイミングなのでしょうか。

もしかすると私のphpのセッションの仕様理解不足な点があるかもしれません。
わかる方がおりましたら教えてください。
08048032007/11/17(土) 09:03:02ID:???
すみません、1行目入力ミスしました
× hpのセッション管理について、動作が不明な点があります。
○ phpのセッション管理について、動作が不明な点があります。

0805nobodyさん2007/11/18(日) 18:06:28ID:???
>803
>ガベージコレクションが実行されてプログラム内で設定したセッション変数が削除されました。

何かでちゃんと確認した?ガベージコレクションがセッションを軒並み
削除してしまうなんてことはないはずだけど
0806nobodyさん2007/11/19(月) 22:42:35ID:???
質問なんだけどauサイトでのセッション管理はURLにセッションID埋め込む方法でOK?
docomoとソフトバンクは上手くセッション管理できてるけどauだけ何故か上手くいかなくて。。
0807nobodyさん2007/11/19(月) 23:40:56ID:???
>>803
セッション固定脆弱性と同じ原因でしょ。

この場合はセッションIDが悪意を持つだれかが用意したものではなくて、
クッキーや履歴の一部(クエリ文字列でセッションIDを引き回した場合)に古いセッションIDが残っていて、それが利用されたと考えられる。
この動作には害はないけどセッション固定攻撃されると危険なので対策を施した方がいい。

>>806
auはクッキー使える
0808nobodyさん2007/12/06(木) 21:19:04ID:NgA5yLDN
PHPに限ったことではないんですが、タブブラウザとかで1つのwebアプリに
ログインした状態でもう一つタブを作ると、同一セッションになってしまいますよね。
これを回避するブラウザ、もしくは対策はないでしょうか。
(全てのページのURLにセッション名を埋め込むとかは面倒なのでしたくないです)
0809nobodyさん2007/12/06(木) 22:37:58ID:???
セッションの仕組みを考えれば分かる事だろう?勉強不足。
0810nobodyさん2007/12/07(金) 01:41:17ID:???
>>809
sine kitigai
0811nobodyさん2007/12/07(金) 05:11:27ID:???
あーはいはい。余程悔しかったんだね。
そんな書き込みしてる暇あったら少しはお勉強しなよ僕^^

まずは、日本語のね(笑)
0812nobodyさん2007/12/07(金) 05:50:16ID:???
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2411791&SiteID=7
にもある通り、ctrl+nで開かれた場合を考えると難しいのでは
0813nobodyさん2007/12/08(土) 07:19:25ID:???
windowsで開発するときのセッションファイルってどこにあるん?
0814nobodyさん2008/03/08(土) 03:14:32ID:???
XPだと
C:\WINDOWS\Temp
ほかの環境は試したことないからわからん
0815nobodyさん2009/01/29(木) 18:26:11ID:???
//$_SESSION['abc']; は前ページで123を代入

//ここから
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time() - 42000, '/');
}
session_destroy();

echo $_SESSION['abc'];//123

と表示したいのですが何か方法はないのでしょうか?クッキーとか使わずに。
0816よーわからんが2009/02/15(日) 17:31:56ID:ig6UuNex
要するにセッションを破棄した後で、そのセッションに入っていた変数を参照したい、ということなら、
$_SESSION = array();
の直前に
$temp = $_SESSION;
とかしておいて、最後の
echo $_SESSION['abc'];
の代わりに
echo $temp['abc'];
とかすればよいのでは?
はずしてたらスマソ
0817nobodyさん2009/03/12(木) 07:13:55ID:???
質問です。mixiってSSLじゃないけど大丈夫なんですか?
これが、楽天やアマゾンだと
普通の商品ページ→http
しかし、購入後の清算ページ OR 会員登録 OR 会員登録変更などは
全部httpsです。

これって、とりあえずセッションIDを変えてるってことですよね
0818nobodyさん2009/03/12(木) 13:09:42ID:???
mixiなんてプレミアムの申し込み以外は個人情報入力するわけでもないのにSSL化する意味あるのか
2ちゃんで名前欄にコテハン入力するのと同じレベルだぞ
0819 【30.4m】 電脳プリオン2012/05/20(日) 23:16:11.62ID:????PLT(12079)
もう語らないのか
0820nobodyさん2012/07/20(金) 12:55:54.60ID:???
セッションしようぜ!
0821nobodyさん2012/08/06(月) 19:05:05.06ID:???
セッションセッション!
0822nobodyさん2013/08/06(火) NY:AN:NY.ANID:???
PHP.iniのsession.save_handler に、独自のセッションハンドラを定義する
方法はあるのでしょうか?

セッション変数をDBに格納したいので独自にハンドラを書きたいのですが、
事情によりスクリプト内でsession_set_save_handler関数は使えないんです。
■ このスレッドは過去ログ倉庫に格納されています