日本手机开发之二——手机个体识别编号的取得

每一台手机都有自己的唯一识别编号,在做手机web开发时,可以通过这个编号做安全或权限的检查。(当然,这是在要求账户与终端绑定的情况下)


1.能够取得唯一编号的机器种类有

docomo:503、FORM之后的机器种类。

au:全部机器种类。

softbank:パケット通信対応之后的机器种类。


2.唯一编号的取得方法

  (1)docomo

     1)个体识别编号

      user-agent里,“ser”后面的就是唯一ID,MOVA的是11位,FORM的是15位,“icc“后面的是FORM card的制造编号。

     PHP示例代码

//$useragent 是user agent,$id就是唯一识别id
preg_match("/^.+ser([0-9a-zA-Z]+).*$/", $useragent, $match);
$id = $match[1];

    2)imode id(guid)

        从2008年4月开始,可以取得一个叫imode id的唯一识别id。imode  id 是包含英文数字的大小区分的7位字符串,在ssl通信(https)时,不能取得imode id。

       服务器要取得imode id,访问连接或提交表单里必须有名字是”guid“值是”ON“的参数,如:

<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>
注意,表单提交里也只能通过get的方式传递guid参数,而不能通过hidden之类的表单项

     从http头信息里通过"X-DCMGUID"取得imode  id,示例代码如下:

//PHP
$id = $_SERVER['HTTP_X_DCMGUID'];

//Perl
$id = $ENV{'HTTP_X_DCMGUID'};

//Java
String id = request.getHeader("x-dcmguid"); 

  3)另外还有一种方法是在URL里加上参数uid=NULLGWDOCOMO,如:

      http://test/a?uid=NULLGWDOCOMO

      那样的话,这个参数会自动转变成个体上识别编号, 服务端只要去这个参数的值就OK了。如java:

request.getParameter("uid")
      注意:这种方法只有在Docomo申请过的得到认可的域名才有效,而且这种方法取得的个体识别编号和前面的方法取得的编号可能是不一样的。

                所以一个应用里要用个体识别编号的话,要注意使用统一的方法获取。


(2)au

     au的个体识别编号叫做EZ编号,可以通过键X-UP-SUBNO从HTTP头信息的里取得,取得的是12345678901234_56.ezweb.ne.jp形式的29位ID。示例代码:

//PHP
$id = $_SERVER['HTTP_X_UP_SUBNO'];

//Perl
$id = $ENV{'HTTP_X_UP_SUBNO'};

//Java
String id = request.getHeader("x-up-subno");

  (3)softbank

       1)个体识别编号

            user-agent里”SN“后面的文字就是唯一编号,P型机种是11位的,之后的机种是15位的。PHP的示例代码:

preg_match("/^.+\/SN([0-9a-zA-Z]+).*$/", $useragent, $match);
$id = $match[1];

       2)X_JPHONE_UID
        16位的唯一ID,通过键X-JPHONE-UID从http头信息里取得。旧机型取不到。示例代码:

//PHP
$id = $_SERVER['HTTP_X_JPHONE_UID'];
//Perl
$id = $ENV{'HTTP_X_JPHONE_UID'};
//Java
String id = request.getHeader("x-jphone-uid");



转自 http://memorva.jp/memo/mobile/uid_utn.php


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值