バグ報告 > その他 > セッションIDの長さについて |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト |
投稿日時: 2007/5/19 21:32
対応状況: −−−
|
セッションIDの長さについて eccube-1.3.0/data/include/mobile.inc 95行目で
// セッションIDのフォーマットをチェックする。 if (preg_match('/^[0-9a-zA-Z,-]{32,}$/', $sessionId) < 1) { gfPrintLog("Invalid session id : sid=$sessionId"); return false; } となっていますが PHP5 以後だとデフォルトで ; Select a hash function ; 0: MD5 (128 bits) ; 1: SHA-1 (160 bits) session.hash_function = 0 となっていますので .htaccess で php_value session.hash_function 1 の設定が必要だと思います。 このままだと無限ループしてしまいます。 |
|
nanasess |
投稿日時: 2007/5/19 23:36
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2325 |
Re: セッションIDの長さについて 大河内です.
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=484&forum=10&post_id=1457#forumpost1457 上記にも書きましたが, 引用:
正確には, session.hash_function が導入されたのが, PHP5以降で, デフォルト値は 0 (MD5)であり, セッションID の長さを決定する session.hash_bits_per_character のデフォルト値は 4 となっているため, 生成されるセッションIDは 32 文字となり, デフォルト値を変更しない限りは無限ループすることはないと思われますが, いかがでしょうか? |
ゲスト |
投稿日時: 2007/5/20 10:07
対応状況: −−−
|
Re: セッションIDの長さについて
これは32文字以上という正規表現ですよ。 |
|
ゲスト |
投稿日時: 2007/5/20 11:21
対応状況: −−−
|
Re: セッションIDの長さについて 引用:
フォーラムの以前の投稿をよくチェックしないで同じ内容を 再度投稿してしまいました。申し訳ありませんでした。 引用:
php-5.2.2 に付属の php.ini-recommended だと session.hash_bits_per_character がなぜか 5 になっています。これをそのまま使用していたため無限ループしていました。 おさわがせして申し訳ありませんでした。 |
|
nanasess |
投稿日時: 2007/5/20 18:48
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2325 |
Re: セッションIDの長さについて 大河内です.
php.ini-recommended は, セキュリティを重視した設定値ですので, 推奨される設定値は 5 になるんでしょうね. 本来なら, ini_get で php.ini の設定値を見て, セッションID の長さを比較するようにしたら良いのでしょうけど... # パッチを作ろうと思いつつ, なかなか時間がとれず, すみません. |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |