2007.11.29 Thu
Cookieが使えない場合のSessionの使用方法
Sessionの使えないブラウザでアクセスしてくる端末に対して、Sessionを使用するには session.use_trans_sid を有効にしてあげましょう。
URLに自動的に
index.php?ssid=xxxxxxxxxxxxxxxxxxxxx
といったSessionIDをつけてくれます。
# vi /etc/php.ini
session.use_trans_sid = 0
↓
session.use_trans_sid = 1
さてここまではごくごく一般的なSessionの持ち回りの話ですが、本日大きなカン違いに気づかされました。
今まで全てのアドレス、フォームに自動でSessionIDをつけてくれるものだと思っていたのですが、
session.use_trans_sid が有効な場合、相対URIは自動的にセッションIDを含むように変換されます。
という仕様をしりませんでした。![]()
よく考えてみればそりゃそうですよね、外部リンクにもセッションをつけてしまうことになるので、それはそれで大問題です。![]()
つまり絶対パスで記述しているアドレスにはSessionIDがつきません。
このおかげで全てのパスをチェックするはめになりました・・・