>>771 1.セッション付きのURLから外部のサイトに飛びました
2.外部サイトの鯖ログ(もしくはアクセス解析)に、セッション付きのURLが残りました。
3.その外部サイトの管理者がURLにアクセスしました
セッション管理法が糞なら、こんな事でハイジャックされてしまう事もあるわな。
非常に低レベルなお話だが
2.外部サイトの鯖ログ(もしくはアクセス解析)に、セッション付きのURLが残りました。
↑これは、リファラとしてって事な。
>>771 実装次第だけど、セッションIDがどこに保存されているかは大体目星が付くよね?
それをどうにかして奪おうと頑張る人がいるんだよ。
>>773 それってURLがPHPSESSIDってなっているサイトだよね?
たまに大手サイトであるけど、ほとんどセッションはクッキーで保存
するタイプじゃないの?
ブラウザ側でクッキーが無効だったらURLに付加するしかねーだろ
恥を知れ
いや、それはわかってるよ。携帯サイトとかもだろ?
けど、上記に出てるようにセキュリティ的なリスクが高いじゃないか。
PCサイトではCookie必須とし、session.use_trans_sidはOFFにする。
携帯サイトの場合は、最低限session_nameはデフォルト以外を使う(EZwebを除く)。
ってことでOK?
アマゾンのあれもセッションじゃん
セキュリティもへったくれもないような
>>778 だから、セッションIDが漏れても大丈夫なように対策をするわけだ。
非常に低レベルな対策としてはIPアドレスを使う方法だが、
これは例えばDoCoMo携帯みたいに接続ごとにIP変わる場合には使えねぇな。
DoCoMoはリファラ吐かないが、auなんかリファラ吐くから簡単にセッションIDは漏れる。
だから、例えばauの個体識別番号なんかを使って、万が一セッションIDが漏れても
大丈夫なように対策をするわけだろ?
でも個体識別番号の通知をオフにする設定も出来るわけで、そこら辺どう対策していくかとかさ。
それ以前に、最近のau機種の大半ははクッキー対応してるけどw
俺の管理しているサイトの鯖ログには、
mixiのセッションIDがくっついたリファラや、
YahooメールのセッションIDがくっついたリファラがたくさん残ってるが、
だからといってそのURLにアクセスしても無駄だわな。当たり前。
>>781 mixiはたぶん、毎ログインごとにセッションIDをDBに保存していると思う。
だから、1人のユーザがログインしている時だけ有効なセッションIDを
利用するから、二度と同じセッションIDは使えないわけで、
それがセキュリティ対策になっているのだと思う。
と言ってもOpenPNEのソースをみた印象なので、正しいかどうかはわからないが。
783 :
nobodyさん:2007/08/13(月) 17:11:35 ID: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でセットした値が上の階層で使えません。
下階層でセットしたセッション情報って上の階層で拾うにはどうすればいいのでしょうか。
session_set_cookie_params
785 :
nobodyさん:2007/08/31(金) 15:08:21 ID:1lVu4gM5
セッション管理のヘルパとかライブラリってありますか。
軽量な奴で。
さあ
無駄なレスするなよ。屑が。
無駄なレスするなよ。糞が。
789 :
nobodyさん:2007/09/01(土) 01:28:14 ID:NDVzf3zM
791 :
nobodyさん:2007/09/01(土) 16:55:59 ID:fGUplrri
( ´д)ヒソ(´д`)ヒソ(д` )
793 :
789:2007/09/03(月) 09:18:25 ID:ipYR2CKm
いや、つうかさ、
>セッション管理のヘルパとかライブラリ
とかって、何に対してして欲しいのさ?
Perlやってた俺としては、PHPは十分便利だと思うけど?
794 :
nobodyさん:2007/09/03(月) 09:52:57 ID:M+H83k8j
クッキーじゃ駄目なの?
795 :
789:2007/09/03(月) 11:44:25 ID:ipYR2CKm
クッキーは1024byteまでしか使えないんじゃなかった?
4KBじゃなかったっけ
4096bytes/cookieで特定のホストかドメイン毎に20cookieまで。
さらに携帯では制限付くよ。
というかDoCoMoがいつまでもCokkie非対応で
そろそろ機能が付くという話も聞いた気がしたがサイトに情報なかったな。
798 :
nobodyさん:2007/10/06(土) 16:08:49 ID:iTscqPhy
最近、セッションが勝手に切れるんだけど、
同じ現象を経験した人いる?
800 :
nobodyさん:2007/10/06(土) 19:32:49 ID:iTscqPhy
>>798 俺が作ったショッピングサイト。
ショッピングカートの中身が消えるという現象が起きてる。
タイミングは不明。
商品を10、20個入れても消えない時もあるし、3個で消えた事もある。
セッションが破棄されるタイミングがさっぱりわからないんだ。
お前のバグだ
hpのセッション管理について、動作が不明な点があります。
(現象)
1. ログイン実行、ログイン成功ならばクッキー変数にセッションIDを設定します。
2. しばらくログインしたままで画面を開いていました。
ガベージコレクションが実行されてプログラム内で設定したセッション変数が削除
されました。
3. ログアウトの処理を実行せず、画面を閉じて終了しました。
明示的にsesson_destroy()は実行していません。
4. 再度ログインしました。その後設定されているセッション変数を確認したところ、
上記1.で設定していたセッションIDと同じ値が設定されました。
2.でガベージコレクションが実行されてセッション変数が
削除されたはずなのに、再度ログインすると同じ以前と同じセッションIDとなる
理由がわかりません。
セッションIDはガベージコレクション実行後でも削除されないのでしょうか。
PHPでセッションIDが変更されるのはどのようなタイミングなのでしょうか。
もしかすると私のphpのセッションの仕様理解不足な点があるかもしれません。
わかる方がおりましたら教えてください。
804 :
803:2007/11/17(土) 09:03:02 ID:???
すみません、1行目入力ミスしました
× hpのセッション管理について、動作が不明な点があります。
○ phpのセッション管理について、動作が不明な点があります。
>803
>ガベージコレクションが実行されてプログラム内で設定したセッション変数が削除されました。
何かでちゃんと確認した?ガベージコレクションがセッションを軒並み
削除してしまうなんてことはないはずだけど
質問なんだけどauサイトでのセッション管理はURLにセッションID埋め込む方法でOK?
docomoとソフトバンクは上手くセッション管理できてるけどauだけ何故か上手くいかなくて。。
>>803 セッション固定脆弱性と同じ原因でしょ。
この場合はセッションIDが悪意を持つだれかが用意したものではなくて、
クッキーや履歴の一部(クエリ文字列でセッションIDを引き回した場合)に古いセッションIDが残っていて、それが利用されたと考えられる。
この動作には害はないけどセッション固定攻撃されると危険なので対策を施した方がいい。
>>806 auはクッキー使える
808 :
nobodyさん:2007/12/06(木) 21:19:04 ID:NgA5yLDN
PHPに限ったことではないんですが、タブブラウザとかで1つのwebアプリに
ログインした状態でもう一つタブを作ると、同一セッションになってしまいますよね。
これを回避するブラウザ、もしくは対策はないでしょうか。
(全てのページのURLにセッション名を埋め込むとかは面倒なのでしたくないです)
セッションの仕組みを考えれば分かる事だろう?勉強不足。
あーはいはい。余程悔しかったんだね。
そんな書き込みしてる暇あったら少しはお勉強しなよ僕^^
まずは、日本語のね(笑)
windowsで開発するときのセッションファイルってどこにあるん?
XPだと
C:\WINDOWS\Temp
ほかの環境は試したことないからわからん
//$_SESSION['abc']; は前ページで123を代入
//ここから
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '', time() - 42000, '/');
}
session_destroy();
echo $_SESSION['abc'];//123
と表示したいのですが何か方法はないのでしょうか?クッキーとか使わずに。
816 :
よーわからんが:2009/02/15(日) 17:31:56 ID:ig6UuNex
要するにセッションを破棄した後で、そのセッションに入っていた変数を参照したい、ということなら、
$_SESSION = array();
の直前に
$temp = $_SESSION;
とかしておいて、最後の
echo $_SESSION['abc'];
の代わりに
echo $temp['abc'];
とかすればよいのでは?
はずしてたらスマソ
質問です。mixiってSSLじゃないけど大丈夫なんですか?
これが、楽天やアマゾンだと
普通の商品ページ→http
しかし、購入後の清算ページ OR 会員登録 OR 会員登録変更などは
全部httpsです。
これって、とりあえずセッションIDを変えてるってことですよね
mixiなんてプレミアムの申し込み以外は個人情報入力するわけでもないのにSSL化する意味あるのか
2ちゃんで名前欄にコテハン入力するのと同じレベルだぞ
もう語らないのか
セッションしようぜ!
セッションセッション!
PHP.iniのsession.save_handler に、独自のセッションハンドラを定義する
方法はあるのでしょうか?
セッション変数をDBに格納したいので独自にハンドラを書きたいのですが、
事情によりスクリプト内でsession_set_save_handler関数は使えないんです。