携帯サイトでhttpとhttpsのセッションを引き継ぐ
携帯用のECサイトを開発しているのでが、
一部のページがSSLだと問題なことに気付いた。
トップページ(http)
↓
カートページ(https)
↓
商品ページ(http)
等と移動した時、http通信の時とhttps通信の時でセッション的には
別サイトの扱いになってしまい、別々のセッションIDが発行されてしまう。
セッション自体はhttps通信の時にしか使わないのだが、
クッキーに対応していない携帯だとURLでページごとにセッションIDを
引き継がなければならないので、やはり都合が悪い。
全てhttps通信してしまうのも一つの手だが、リソースを食うし
あんまりにも横暴なので、
でURLにつけて渡したセッションIDをページの最初に固定で
セットするようにしてみた。
if(isset($_GET['PHPSESSID'])){
$sessionId = $_GET['PHPSESSID'];
}
session_start(session_id($sessionId));
問題なく動くんだけど、セキュリティ的にちょっと嫌である。