fetus Diary

2006/03/29(水) - メモメモ

session.use_trans_sidini_set では設定できない(後述)ので、素直に php.ini に書くか、.htaccess に php_value session.use_trans_sid 1 とか書く。そもそも use_trans_sid なんてセッションハイジャックの原因以外の何者でもないので、使わないのがベスト。しかし、使わないといけない環境があるのもまた事実。はぁ…。

ちなみに、session.use_trans_sidini_set できない理由は、「スクリプトが動いているときにはもうエンジンの初期化が終了しているから」らしい。しかし、これは bug-fix されているらしい。2003/12 くらいに。

で、こういうソースで実験すると、

<?php
ini_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

コメント

コメントはありません。

名前
メール
コメント

※HTML タグは使えません。HTTP URL には自動リンクが張られます。

Captcha
画像から読み取れる文字を入力: