バグ #308
PHP5から追加された、session.cookie.httponlyを利用した際の挙動
| Status: | 終了 | Start: | 11/06/2009 | |
|---|---|---|---|---|
| Priority: | 通常 | Due date: | ||
| Assigned to: | KUNIHARU Tsujioka | % Done: | 100% |
|
| Category: | 脆弱性・セキュリティ関連 | Spent time: | - | |
| Target version: | 1.2.0.4 | |||
| バグを確認したバージョン: | 1.2.0.3 |
Description
ログイン認証に、PEAR::Authを利用しているため、PHP5.2から追加された機能である、
Cookie_httmponly = 1
の設定が破棄されてしまうという現象。
PEARのAuthではhttponlyに対応していないため。(現在MyNETSに同梱されているAuthのバージョンでは未対応)
mixiのコミュニティでの、pontaさんの投稿により調査した結果、上記が判明。
以下コミュニティでの記述
*************************
php.iniの設定で
session.cookie_httponly=1
を設定しているのですが、/cap.phpで発行するセッションには有効なのですが
ログイン時に発行されるセッションにはこの設定が反映されません。
PEAR::AUTHでは、通常のsession_start()に加え
setcookie(session_name()
, session_id()
, $expire
, $this->cookie_path);
をコールしていたため、おそらく一度httponly=trueで発行されたあとに
httponly=falseで上書きされていた物と思います。
setcookie(session_name()
, session_id()
, $expire
, $this->cookie_path
, ini_get('session.cookie_domain')
, ini_get('session.cookie_secure')
, ini_get('session.cookie_httponly'));
と設定を変えることで、対応しました。
とりあえず対象バージョンを1.2.0.4とします。
History
Updated by KUNIHARU Tsujioka 10 months ago
Updated by Anonymous 7 months ago
- Status changed from 新規 to 解決
- % Done changed from 0 to 100
チェンジセットr1470で適用されました。
Updated by Kenji Suzuki 7 months ago
- Status changed from 解決 to 終了
- バグを確認したバージョン changed from 1.2.1 to 1.2.0.3
ソースみました。