HD同梱の携帯対応(その1)
gusagiです。
先週の段階では、HD(ホダ塾ディストリビューション)のリリースについて書こうと思っていたんですが、
二日連続で先に書かれてしまったので(笑)、HD同梱の携帯対応モジュールについて書かせて頂きます。
(1) 換装機構の利用
HDに同梱の携帯対応モジュール"WizMobile"では、XCL2.1(XOOPS Cube Legacy)の換装機構を利用することで、
携帯対応を実装しています。
具体的には、
- コントローラ換装により、リダイレクト時に適切なセッションIDを付与
- レンダーシステムの換装により、不要なヘッダ送出を無効化
- レンダーシステムの換装により、ブロックコンテンツの表示制御
などです。
(2) セッション維持
obフィルターを利用することで、aタグやformタグに対してセッションIDを挿入し、セッションを維持させています。
このセッション維持は、session.use_trans_sidではなく、自前の処理で行っています。
というのも、trans_sidでは、リンク先などは相対パスで書かれていなくてはならないからです。
そのためにobフィルターでXOOPS_URLを削除するなども試してみましたが、obフィルターとtrans_sidの処理順序が
PHPに依存していたりして書き換えが確実に行われないことと、XOOPS_ROOT_PATHがドキュメントルート以下に
存在した場合の書き換えが面倒だったからです。
この、セッションIDの挿入に加えて、(1)で述べたコントローラの換装を合わせることで、
セッション維持を実装しています。
(3) 携帯用のセッション管理
携帯の場合、セッションIDをURLに含めて引き渡さなければいけない(※1)のですが、そのままセッションIDを
付与するだけではセキュリティ上問題があります。
そこで、セッションを維持させるか否かのチェックロジックを実装し、一定時間ごとにセッションIDを切り替えたり、
最終アクセスから一定時間でセッションを強制的に終了させたりと、携帯用のセッション管理を実装しています。
他にも、幾つか機能を実装しているのですが、続きは来週に書かせて頂きます。
※1:正確に言えば、SoftBankとAUの最近の機種はCOOKIEが利用出来るので、URLに含める必要はありません。
ただ、DoCoMo端末に関してはCOOKIEが利用出来ないため、携帯端末なら一律でURLに含める形で処理を
行うように実装しています。
RSS feed for comments on this post.
ƤˤϡޤȤդƤޤ
Ȥ
ʤߥȤդ뤳ȤϽޤ