携帯サイトではユーザー認証を行う際に個体識別情報(uid)を利用できます。逐一ユーザーIDとパスワードを入れさせることなくユーザー認証が行えるため便利です。
その主要3キャリアの個体識別情報の利用方法をまとめてみたので掲載します。
PEAR::Net_UserAgent_MobilePHPならPEAR::Net_UserAgent_Mobileを使うと楽にできるかも?
新機種に対応しているか確かめていませんが、していなかったとしても一部手直しすればいいだけではないかなと予想。
取得方法:ドコモ 公式ページ個体識別情報ヘルプ User-Agentヘッダの中に含まれます。ただし常に含まれるわけではなく、画面遷移の際に使われたAタグもしくはFormタグにutn属性が含まれている場合のみです。
書式例:
<A href="URL" utn>
<FORM method="メソッド" action="URL" utn>
携帯・自動車電話とFOMAはユーザーエージェントに含まれるuidの書式が異なります。詳細は
公式ページを参照して下さい。
NULLGWDOCOMOの利用
http://mob.foo.com/?uid=NULLGWDOCOMO
とuidにNULLGWDOCOMOとリンクを張ることにより、DOCOMO側でNULLGWDOCOMOの文字列をuidに変換してくれるようです。ただしこれは公式サイトでなければ使えない模様。
SoftBank 公式ページ個体識別情報ヘルプ 端末シリアル番号という呼び方をします。HTTP_USER_AGENTの中に含まれているので抜き出して使えばOKです。記述内容はSoftBank 4-2 SeriesとSoftBank 6-5 Series、SoftBank 3G Series / Disney Mobileで異なるようです。詳細は
公式ページ個体識別情報ヘルプを参照のこと。
もっともヘッダに含まれるHTTP_X_JPHONE_UIDを使ったほうが楽そうです。$_SERVER['HTTP_X_JPHONE_UID']でとれるので簡単です。ただ、HTTP_X_JPHONE_UIDに関する公式資料を見つけられていません。そこが怖い点です。
なお、「製造番号通知がOFFの設定になっている端末からは、端末シリアル番号を取得できません。」とのこと。そういう端末から端末シリアル番号を取得したい場合はどうすれば・・・? あきらめるんでしょうか。
AU 公式ページ個体識別情報ヘルプヘッダに含まれるHTTP_X_UP_SUBNOを使えば良いようです。機種ごとの違いについては記述がなかったようなので、たぶんないのでしょう。そう信じたいです。
注意点 古い機器を友人に譲るなど携帯電話の利用者が変わった際に、旧利用者の情報が新利用者に閲覧されてしまう可能性もあります。取得するのがドコモのiモードIDのようにユーザーごとに振られている番号であれば大丈夫なのですが、utnで取得する携帯電話の製造番号のように機器そのものに振られている番号であるなら要注意。