builtin function

ビルトイン関数 - 詳細

Category: builtin_function/carrier

uid()

個体識別番号の取得

関数

string uid (  void )
個体識別番号の取得
パラメータ

第1引数: void
戻り値

string // or null
説明

iモードIDは"guid=ON"をGETパラメータとして渡してやる必要がある。POSTで"guid=ON"で渡してもダメ。
iモードIDはSSL通信時に利用できないので注意。
iモードIDを利用するためには全てのアンカー要素とform要素に対して"guid=ON"をつけてやればよい。あとredirect()の時も"guid=ON"が必要。


★個体識別情報について
http://memorva.jp/memo/mobile/uid_utn.php
★関連記事
http://d.hatena.ne.jp/maru_cc/20080331/1206981311
http://takagi-hiromitsu.jp/diary/20080710.html

★2011/12/23 xirasaya: memo:
NTTドコモは2008/3/31以降、契約者固有IDを全てのWebサーバに確認なしに自動通知するようになった。
ここでいう契約者固有IDとはiモードIDのこと(FOMAであれば契約者、或いは電話番号が変わらない限り機種の変更に関わらず固定となるもの。MOVAは知らん。)を指す。
iモードIDは、?guid=ONが付与されたリンクを踏むことによって、$_SERVER['HTTP_X_DCMGUID']でユニークな識別番号として取得できる。
しかし上記で書いたように2008/3/31以降は自動で送られる値となったので、実際は?guid=ONをつけたリンクを踏まなくても実はサーバ側にiモードIDは送られている。ただし?guid=ONがないと見えない。
★IDが送られていることを証明する方法
?guid=ONのないリンクを踏んでサーバにアクセスする。ここで$_SERVER['HTTP_X_DCMGUID']が無いことを確認する。
次にサーバ自身でリダイレクトを行い、その際に?guid=ONを付けてやる。この後$_SERVER['HTTP_X_DCMGUID']を確認すると見えるようになっている。
なのでredirect()をする時も常にguid=ONを付けてやるようにすること。
こうすることでサーバからサーバが呼び出された場合でも$_SERVER['HTTP_X_DCMGUID']が利用可能となる。つまり個体を識別できる。
あとdocomo以外のキャリアはそもそもguid=ONがなくても個体識別番号を渡している。


docomo:iモードID(SSL不可)、utn(SSL可)。ただしutnでは通信の許可を求めるメッセージが出力される。
FOMA端末の場合、FOMA端末製造番号(serXXXXXXXXXXXXXXX形式)とFOMAカード製造番号(iccxxxxxxxxxxxxxxxxxxxx形式)が一組みにまとめて送られる。
MOVA端末の場合、MOVA端末製造番号(serXXXXXXXXXXX形式)で送られる。
softbank:端末シリアル番号(SSL可。ただし携帯側で送信しない設定が可能。デフォルトは送信する設定になっているはずだが最近はそうでもないらしい。)
au:サブスクライバID(SSL可。こちらも携帯側で送信しない設定が可能。デフォルトは送信する設定になっている。)
サブスクライバIDとはEZweb契約単位のユニークなID。機種変更でも変化しないが解約->再契約の手続きを踏むと変わる。
サブスクライバIDから契約地域(関東、関西といったレベル)が特定できるようになっている。

最後に。
UserAgentの値は偽装することが可能なので上記の携帯識別情報(製造番号、ユーザID)だけでなくIPアドレスとセットで確認する必要がある。

001 - 20xx/xx/xx xirasaya: copy custom
ソースコード [表示]


[top]