携帯サイトでSSLを使用する場合のセッション注意点

By nakayama - 09/06/19 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

今回は始めて携帯サイトでSSLを導入した際、嵌るであろう注意点を紹介します。
 
セッションを使用して情報を保持している場合、SSL環境下では2つ問題が起こります。
 

1. httpsで遷移した場合Cookieによるセッションを引き継げない

 
そもそもドコモの場合はCookieを使ったセッション保持が出来ないのでおいておくとして
Ezwebの場合もSSL環境下でセッションを引き継げません。
また、Softbankの一部機種もhttpからhttpsに移動した際、情報を引き継げません。
 

ドコモ Cookieが使えない
Ezweb https下ではCookieが引き継げない
Softbank 一部機種でhttp→httpsに遷移した際、Cookieが引き継げない

 
解決策としてhttpsを使う場合、Ezwebではドコモと同じくuse_trans_sidでセッションIDを引き渡す、
Softbankもhttp→https、https→httpへ遷移する場合はURLでセッションIDを引き渡す必要があります。

2. use_trans_sidをOnにしてURLでセッションIDを引き渡している場合、ドメインが変わるとセッションIDが付与されない

use-trans-sidをOnにしてURLでセッションIDを引き渡す方法を取っていても
セキュリティの関係上、ドメイン(http→httpsも該当します)が変わるリンクには
セッションIDが付きません。
ただ、aタグにhttpからhttpsのリンクをしているだけでは駄目です。

引き渡したいリンク先がある場合は無理やりセッションIDを付けます。

<a href=https://sample.com/>hogehoge</a>

というようなリンクは下記のようにします。

<a href="https://sample.com/?PHPSESSID=<? echo {$sessinId} ?>">hogehoge</a>

※use_trans_sid 使用した場合セキュリティに問題が出てきます。
詳しくは下記ページをご参考下さい。
「携帯でuse_trans_sidを使ったセッションの扱い 後編」