<?php
/*
 * $Id: mobile_distinction.php,v 1.2 2005/10/31 01:55:14 ikuma Exp $
 */
/////////////////////////////////////////////////////////////
//  アクセス携帯判定
/////////////////////////////////////////////////////////////
//  ユーザーエージェント及びキャリアのIPアドレス帯域情報より
//  アクセス端末を判断してそれぞれの専用ページに振り分けます。
//
//  DoCoMo IPアドレス帯域
//    http://www.nttdocomo.co.jp/p_s/imode/ip/
//  au IPアドレス帯域
//    http://www.au.kddi.com/ezfactory/tec/spec/ezsava_ip.html
//  Softbank IPアドレス帯域
//    http://developers.softbankmobile/dp/tech_svc/web/ip.php
//
/////////////////////////////////////////////////////////////
$remote_host_str getenv('REMOTE_HOST');     //リモートホスト
$remote_addr_str getenv('REMOTE_ADDR');     //リモートアドレス
$agent_str       getenv('HTTP_USER_AGENT'); //ユーザーエージェント

if(preg_match("/^DoCoMo\/[12]\.0/i"$agent_str)){
  if((
preg_match("/\.docomo\.ne\.jp$/",$remote_host_string)) ||
     (
preg_match("/^(210\.153\.84|210\.136\.161|210\.153\.87)/",$remote_addr_string))) { //210.153.87.0/24 フルブラウザ
    //i-mode端末用ページ
    
header("Location: index_imode.php");
    exit();
  }else{
    
//端末エミュレーター or PCブラウザ?
    
header("Location: index_pc.php");
    exit();
  }
}elseif(
preg_match("/^(J-PHONE|Softbank|Vodafone|MOT-[CV])/i"$agent_str)){
  if((
preg_match("/\.jp-[cdhknqrst]\.ne\.jp$/",$remote_host_string)) || 
     (
preg_match("/^(210\.146\.7|210\.146\.60|210\.151\.9|210\.169\.176|210\.175\.1|210\.228\.189|211\.8\.159|202\.179\.204)/",$remote_addr_string))) {
    
//Softbank、Vodafone端末用ページ
    
header("Location: index_vodafone.php");
    exit();
  }else{
    
//端末エミュレーター or PCブラウザ?
    
header("Location: index_pc.php");
    exit();
  }
}elseif(
preg_match("/^KDDI-/i"$agent_str$matches) || preg_match("/UP\.Browser/i"$agent_str$matches)){
  if((
preg_match("/\.ezweb\.ne\.jp$/",$remote_host_string)) || 
     (
preg_match("/^(210\.169\.40|210\.196\.3|210\.196\.5|210\.230\.128|210\.230\.141|210\.234\.105|210\.234\.108|210\.251\.1|210\.251\.2|211\.5\.1|211\.5\.2|211\.5\.7|218\.222\.1|61\.117\.0|61\.117\.1|61\.117\.2|61\.202\.3|219\.108\.158|219\.125\.148|222\.5\.63|222\.7\.56)/",$remote_addr_string))) {
    if(
$matches[0] == "UP.Browser"){
      
//au HDML端末用ページ
      
header("Location: index_au_hdml.php");
      exit();
    }else{
      
//au WAP2端末用ページ
      
header("Location: index_au.php");
      exit();
    }
  }else{
    
//端末エミュレーター or PCブラウザ?
    
header("Location: index_pc.php");
    exit();
}elseif(
preg_match("/^PDXGW/i"$agent_str) || preg_match("/DDIPOCKET/i"$agent_str) || preg_match("/^(ASTEL|L\-mode)/i"$agent_str)){
  
//その他端末用ページ
  
header("Location: index_other.php");
  exit();
}else {
  
//端末エミュレーター or PCブラウザ?
  
header("Location: index_pc.php");
  exit();
}
?>