Zend Frmaeworkで携帯サイトを作る(PCサイトを作った後で)4-セッション編

| | コメント(0) | トラックバック(0)
携帯はCookieが使えないからセッションを維持するにも一工夫必要。
と思ったら自分のAUの携帯は、Cookieが使えるらしく、普通にセッションが維持できてた。
と、どうやら、最近のAUとSoftbankの携帯はCookieに対応している機種が多いらしいです。

しゃーないので、docomoからシミュレータをゲットして試してみたら、ばっちりセッションを維持できなかった。これで、開発ができる。
(追記:)キャリアが配布しているシミュレータよりFireMobilesimulatorの方が100倍いいかも


 「携帯でuse_trans_sidを使ったセッションの扱い 前編」が最高に参考になりました。

まず第一にPHPのconfigure時に「--enable-trans-sid」が指定されている必要がある。XAMPPとかだとはじめから有効になっているみたい。

で、次にセッションの設定を変える。
このサイトでは、4通りの方法が記述されてたけど、まあ、せっかくZend Frameworkでっていってるから4つめの
$sessionConfig = array(
'use_only_cookies' => 'off',
'use_trans_sid' => '1',
);
$session = Zend_Session::setOptions($sessionConfig);
で、対応することに。

これをどこに書くか?だけど、とりあえずindex.phpに書いといた。
これでCookieに対応していないブラウザに対してだけ<a>とか<form>とかのURLにセッションIDが付与される。docomoのシミュレータでもログインができた。

と、思ったらリダイレクトをかけているところには、自分でセッションIDをURLに足してやる必要があった。。。
$this->_redirect('/top?PHPSESSID='.Zend_Session::getId());
こんな感じだけど、これだと無条件にセッションIDが付いちゃうから、Cookieの判別してCookie対応していない場合だけつけるようにしたい。もう今日はやらないけど、Zend Framework使ってるならトップページも動的なはずなので、そのときに適当なCookie発行して、それが取れなかったらCookie対応していない、という判断をすればいいんだろうな。

あとは、セッションハイジャック対策をできるだけやることになるけど、それはまた今度。


トラックバック(0)

このブログ記事を参照しているブログ一覧: Zend Frmaeworkで携帯サイトを作る(PCサイトを作った後で)4-セッション編

このブログ記事に対するトラックバックURL: http://hirop0164.s326.xrea.com/mt/mt-tb.cgi/255

コメントする


画像の中に見える文字を入力してください。

ブックマーク

はてなブックマークに追加 Yahoo!ブックマークに登録 del.icio.us に登録 ライブドアクリップに追加 Google Bookmarks に追加

このブログ記事について

このページは、ぴろしが2009年2月 7日 02:29に書いたブログ記事です。

ひとつ前のブログ記事は「Zend_Cacheを使ってマスタデータをキャッシュする。」です。

次のブログ記事は「Zend Frmaeworkで携帯サイトを作る(PCサイトを作った後で)5-文字コード」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。