fetus Diary
2006/03/29(水) - メモメモ
session.use_trans_sid は ini_set では設定できない(後述)ので、素直に php.ini に書くか、.htaccess に php_value session.use_trans_sid 1 とか書く。そもそも use_trans_sid なんてセッションハイジャックの原因以外の何者でもないので、使わないのがベスト。しかし、使わないといけない環境があるのもまた事実。はぁ…。
ちなみに、session.use_trans_sid が ini_set できない理由は、「スクリプトが動いているときにはもうエンジンの初期化が終了しているから」らしい。しかし、これは bug-fix されているらしい。2003/12 くらいに。
で、こういうソースで実験すると、
<?phpini_set ( 'session.use_trans_sid' , 1 ) ;session_start ( ) ;?> <a href="hoge.php">fuga</a>
PHP 4.3.9 では
[****@********** ******]$ php hoge.php
Content-type: text/html
X-Powered-By: PHP/4.3.9
Set-Cookie: PHPSESSID=c3d2ae2b8542eed245ea54431f89f9ff; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
<a href="hoge.php">fuga</a>
こうなって、PHP 5.1.2 では
[******@SUZURI ******]$ php hoge.php
<a href="hoge.php?PHPSESSID=5if6bhes4ri3pjrnrhn64bab00">fuga</a>
こうなるわけだ orz
- 06/03/29
18:2718:29
コメント
コメントはありません。