国内ケータイ各社のcookie対応率がまとめられた記事「携帯Webのクッキー利用について調べてみたメモ」

2010/5/21 金曜日 Posted in DoCoMo, 記事紹介・リンク | 1 Comment »

モバツイの中の人が、ケータイ各社のcookie対応状況について調べた結果がまとめられていましたのでご紹介させていただきます。   → F's Garage:携帯Webのクッキー利用について調べてみたメモ [milkstand.net]   こちらの日記でも触れられていました。 → 高木浩光@自宅の日記 クッキー食えないのはドコモだけ [takagi-hiromitsu.jp]   結果は下の記事の方に表でまとめられたものがあるので、そちらのほうがわかりやすいです。 結果としては、auおよびSoftBankは、ほぼ全ての端末(98.7~99.9%)が対応しているのに対し、ドコモは28%とまだまだ普及は遠いようです。   最近、かんたんログインのセキュリティに対する問題が露見してきているので、今後はクッキーを使った認証が主流になっていきそうです。 ちょっと時間がなくてまだ詳しく調べていないのですが、mod_chxjにクッキーシミュレートの機能があったはずなので、もしかしたらこういうソフトを利用することで解決ができるのかもしれません。 → mod_chxj wiki クッキーシミュレート機能 [sourceforge.jp] → mod_chxj スレッド Cookie シミュレート機能のみ有効にしたい [sourceforge.jp]   関連: 絵文字や画像の自動変換を行ってくれるApacheモジュール「mod_chxj」を使ってみました(インストール編) ドコモのiモードブラウザの仕様が2009年夏モデルから大幅に変更になるようです ケータイ+Cookieのハマリどころをまとめた「携帯とCookieドメイン」(ウノウラボ) Read more..

ケータイで「mod_rewrite + セッション」を使う際の注意点

2008/6/6 金曜日 Posted in DoCoMo, サーバ | 4 Comments »

ここ最近は大きなニュースが多く、ニュース記事の紹介ばかりでしたので、ひさしぶりに技術メモ的なものを書きたいと思います。   先日mod_rewriteを使っていて、セッション絡みで少しつまづいた件をご紹介します。 実はPHPで動いているページを、「*.html」として静的コンテンツに見せる、というものを作ろうとしていました。 .htaccessの内容としては次の通りです。 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^([0-9A-Za-z~_\-\.]+)\.html$ /viewer.php?p=$1 [L] </IfModule>   ブラウザで正常に動作することを確認し、その後ドコモの実機でテストしたのですが、何度試してもセッションを引き継いでくれません。 それもそのはず、ドコモ端末はcookieが使えませんので、URLにセッションIDを埋めこんで引き継いでいく必要があります。 上記のような設定では、mod_rewriteがセッションIDの引数をカットしてしまうのです。   というわけで、ケータイのセッションに対応するための設定は以下のようになります。 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^([0-9A-Za-z~_\-\.]+)\.html$ /viewer.php?p=$1 [QSA,L] </IfModule> [QSA,L]の部分の、QSAフラグがポイントとなります。 リファレンスによると、QSAフラグは次のように説明されています。 このフラグは、置換文字列の中でマッチしたものを書き換えるのではなく、 そこにクエリー文字列部分を追加するように、書き換えエンジンに強制します。書き換えルールを通してクエリー文字列に何かデータを追加したい場合にこのフラグを使います。 ちょっとわかりづらい説明ですが、要はアクセスされたURLについていたクエリー文字列を、そのまま引き継ぐためのフラグです。 これをつけることによって、セッションIDを失うことなくプログラムに渡すことができます。 次のような書き方でも、同じように動くようです。 viewer.php?p=$1&%{QUERY_STRING} [L]   なお、ケータイのセッションに関する詳しい説明は、こちらをご覧ください。 → PHPでケータイからセッションを使う場合の設定方法   関連: ケータイキャリア毎に振り分けを行うには(mod_rewrite編) PHPでケータイからセッションを使う場合の設定方法 Read more..