ドコモ、au、ソフトバンクの携帯電話の個体識別情報(番号)の取得。
<a href="example.html" utn>test</a>
や
<form method="post" utn> </form>
PHPの場合、以下のような正規表現でユーザーエージェントから個体識別情報を取得できる。
preg_match("/^.+ser([0-9a-zA-Z]+).*$/", $useragent, $match);
$id = $match[1];
$useragent はユーザーエージェント。
$id は個体識別情報。
●この番号は携帯電話で *#06# と打つと表示される。
︵機種により表示されないものもあるかもしれません︶
<a href="http://example.com/test.php?guid=ON">test</a>
や
<form action="./example.cgi?guid=ON" method="post" name="form1">
<input type="submit" value="送信">
</form>
formを使う場合、actionの部分に guid=ON を書かなければいけない。
<input type="hidden" name="guid" value="ON"> では、IDを取得できない。
●上記のリンクからiモードIDを取得するには、HTTPヘッダ︵拡張ヘッダ︶X-DCMGUID から取得する。
//PHPの場合 $id = $_SERVER['HTTP_X_DCMGUID']; //Perlの場合 $id = $ENV{'HTTP_X_DCMGUID'}; //Javaの場合 String id = request.getHeader("x-dcmguid");
//PHPの場合 $id = $_SERVER['HTTP_X_UP_SUBNO']; //Perlの場合 $id = $ENV{'HTTP_X_UP_SUBNO'}; //Javaの場合 String id = request.getHeader("x-up-subno");●12345678901234_56.ezweb.ne.jp という形式の29桁のIDが得られる。 ●公式サイトと非公式サイトの両方で利用されている。 ●この番号は携帯電話のメニューのEZ番号︵サブスクライバID︶という項目に書いてある。
preg_match("/^.+\/SN([0-9a-zA-Z]+).*$/", $useragent, $match);
$id = $match[1];
$useragent はユーザーエージェント。
$id は個体識別情報。
●この番号は携帯電話で *#06# と打つと表示される。
︵機種により表示されないものもあるかもしれません︶
//PHPの場合 $id = $_SERVER['HTTP_X_JPHONE_UID']; //Perlの場合 $id = $ENV{'HTTP_X_JPHONE_UID'}; //Javaの場合 String id = request.getHeader("x-jphone-uid");●16桁ある。 ●公式サイトと非公式サイトの両方で利用されている。 ●X-JPHONE-UIDは、昔は公式サイトでしか取得できなかったが、のちに非公式サイトでも取得できるようになった。 ただし、古い機種では取得できない。